千家信息网

windows下Java操作hbase-----HBase(伪分布)学习笔记

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,一、修改hosts文件进入C:\Windows\System32\drivers\etc目录编辑hosts文件,在底部添加 10.10.10.10(要跟linux机器中hosts里的ip一样) hba
千家信息网最后更新 2026年10月31日windows下Java操作hbase-----HBase(伪分布)学习笔记

一、修改hosts文件

进入C:\Windows\System32\drivers\etc目录

编辑hosts文件,在底部添加 10.10.10.10(要跟linux机器中hosts里的ip一样) hbase

保存退出

二、安装maven(方便管理jar包,也可以不安装)

具体安装步骤参考http://blog.csdn.net/chenxuejiakaren/article/details/7938524

在eclipse中安装请参考http://blog.csdn.net/wode_dream/article/details/38052639

三、创建项目

新建->项目->选择maven文件夹下的maven project->类型选择maven-archetype-quickstart->

group id 是和artifact id 组合起来是完整的 package,一般artifact id 是项目名->建好之后,双击pom.xml->切换到最后一个卡pom.xml->

在 dependencies 里追加这么一截


org.apache.hbase
hbase-client
0.98.9-hadoop2

保存就OK了!

如果报错:

Missing artifact jdk.tools:jdk.tools

再追加这一截

jdk.tools

jdk.tools

1.8

system

${JAVA_HOME}/lib/tools.jar


四、操作hbase

在包下面自己新建class

注意,调用的时候要直接

DBhelper.方法();

package 包名;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HColumnDescriptor;import org.apache.hadoop.hbase.HTableDescriptor;import org.apache.hadoop.hbase.KeyValue;import org.apache.hadoop.hbase.MasterNotRunningException;import org.apache.hadoop.hbase.ZooKeeperConnectionException;import org.apache.hadoop.hbase.client.Get;import org.apache.hadoop.hbase.client.HBaseAdmin;import org.apache.hadoop.hbase.client.HTable;import org.apache.hadoop.hbase.client.Put;import org.apache.hadoop.hbase.client.Result;import org.apache.hadoop.hbase.client.ResultScanner;import org.apache.hadoop.hbase.client.Scan;import org.apache.hadoop.hbase.util.Bytes;public class DBhelper { public static Configuration config = new Configuration(); static{config.set("hbase.zookeeper.property.clientPoint", "2181");config.set("hbase.zookeeper.quorum", "hbase"); } /*  * 按条件查询value  * 参数:表名,行,列簇,列名  */ public static void get(String tablename,String rowKey,String Family,String qualifier)throws Exception{ HTable h=new HTable(config,tablename); System.out.println("开始获取------哔哔哔"); Get get=new Get(rowKey.getBytes()); get.addColumn(Family.getBytes(), qualifier.getBytes()); Result r=h.get(get);for(KeyValue kv:r.raw()){System.out.println("您要查的值为"+new String(kv.getValue()));} } /*  * 扫描table  * 参数:表名  */ public static void scan(String tablename)throws Exception{ HTable h=new HTable(config,tablename); System.out.println("开始扫描"); ResultScanner rs=h.getScanner(new Scan(tablename.getBytes())); for(Result r:rs){ for(KeyValue kv:r.raw()){  System.out.println(new String(kv.getRow())+"   "+new String(kv.getFamily())+"   "+new String(kv.getQualifier())+"   "+new String(kv.getValue())+"   "+kv.getTimestamp()); } } System.out.println("扫描结束"); } /*  * 添加或者修改数据  * 参数:表名,行,列簇,列名,值  */ public static void put(String tablename,String rowKey,String Family,String qualifier,String value)throws Exception{ HTable h=new HTable(config,tablename); System.out.println("- - - - - -  - -  - -  - 正在添加- - - - - - - - - - - - "); Put put =new Put(Bytes.toBytes(rowKey)); put.add(Bytes.toBytes(Family), Bytes.toBytes(qualifier), Bytes.toBytes(value)); h.put(put); System.out.println("- - - - - -  - -  - -  - 添加完成- - - - - - - - - - - - "); }   /*  * 删除table  * 参数:表名  */ public static void Delete(String tablename) throws Exception{ HBaseAdmin h=new HBaseAdmin(config); if(h.tableExists(tablename)){ System.out.println("正在删除"+tablename);    h.disableTable(tablename); h.deleteTable(tablename); System.out.println("删除成功"); }else{ System.out.println("傻啊!"+tablename+"不存在"); } }   /*  * 创建table  * 参数:表名+列簇  */ public static void Create(String tablename,String Col)throws Exception{ HBaseAdmin admin=new HBaseAdmin(config);if(admin.tableExists(tablename)){ System.out.println(tablename+"已存在了!");}else{System.out.println("正在创建table:"+tablename);HTableDescriptor htd=new HTableDescriptor(tablename);System.out.println("创建成功!正在添加列簇:"+Col);htd.addFamily(new HColumnDescriptor(Col));admin.createTable(htd);System.out.println("创建完成:/t 表名:"+tablename+"\t 列簇:"+Col);} }}


参数 正在 文件 项目 成功 参考 选择 底部 数据 文件夹 方法 时候 机器 条件 果报 步骤 目录 类型 中安 建好 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡豆 互联网科技工作委员会 互联网科技工作委员会主任 鸠鸠互联网科技 紫鲸互联网科技 世界互联网领先科技成果 广州互联网络科技有限公司 互联网科技公司做什么 成都仁贤领冠互联网科技有限公司 互联网公司会议桌创意科技软装饰 以后互联网后是啥科技 互联网和黑科技的看法 未来五年的互联网科技 阿里互联网科技企业 用友工业互联网科技发展 华中科技大学互联网的牛人 四川互联网展示科技馆设计 宇信科技在杭州互联网排第几 马化腾互联网科技教学 互联网科技品牌 成都玖崟互联网科技有限公司乐商圈怎么样 农村开互联网科技讲堂 中国互联网有什么科技含量 西安小鹰速贷互联网科技有限公司 半导体是互联网高科技吗 工业互联网科技创业 科技和互联网行业的特点 深圳互联网科技园地址 青岛易易互联网科技 现代科技的标志之一的互联网
0