Java操作hbase总结
用过以后,总得写个总结,不然,就忘喽。
一、寻找操作的jar包。
java操作hbase,首先要考虑到使用hbase的jar包。
因为咱装的是CDH5,比较方便,使用SecureCRT工具,远程连接到你安装的那台服务器上。
jar包的存放位置在/opt/cloudera/parcels/CDH/lib/hbase,找到,下载下来。
在当前路径下,有一个lib包,里面是支持hbase的hadoop的jar包,根据需求,可以下载下来。
二、找一个API文档当成手册,哪里不会查哪里
百度分享,http://pan.baidu.com/s/1jICqdgy,可以下载。
三、java操作Hbase。
构造函数:
public static Configuration configuration;
static{
configuration = HBaseConfiguration.create();
configuration.set("hbase.master","ip1:60000");
configuration.set("hbase.zookeeper.quorum", "ip1:2181,ip2:2181") ;
}
1、如何创建一个hbase表并put数据。
public static void creaTable(String tablename) throws Exception{
HBaseAdmin admin = new HBaseAdmin(configuration);
if(admin.tableExists(tablename)){
admin.disableTable(tablename);
admin.deleteTable(tablename);
System.out.println("开始创建表!");
}
System.out.println("新的表正在创建中!!!");
HTableDescriptor tableDescriptor = new HTableDescriptor(tablename);
tableDescriptor.addFamily(new HColumnDescriptor("cf1"));
admin.createTable(tableDescriptor);
Put put = new Put("123".getBytes());
put.add("cf1".getBytes(), "colum1".getBytes(), "value1".getBytes()) ;
put.add("cf1".getBytes(), "colum2".getBytes(), "value2".getBytes()) ;
put.add("cf1".getBytes(), "colum3".getBytes(), "value3".getBytes()) ;
Put put2 = new Put("234".getBytes()) ;
put2.add("cf1".getBytes(), "colum1".getBytes(), "value1".getBytes()) ;
put2.add("cf1".getBytes(), "colum2".getBytes(), "value2".getBytes()) ;
put2.add("cf1".getBytes(), "colum3".getBytes(), "value3".getBytes()) ;
HTable table = new HTable(configuration, tablename);
table.put(put);
table.put(put2);
}
2、删除hbase中的table里面的rowkey
public static void deleteRow(String tableName,String rowKey) throws Exception{
HTable hTable = new HTable(configuration,tableName);
Delete delete = new Delete(rowKey.getBytes());
List<Delete> list = new ArrayList<Delete>();
list.add(delete);
hTable.delete(list);
}
3、查询row = rowKey的数据
/**
* 查询row = rowKey的数据
* @param tableName
* @param rowKey
* @throws Exception
*/
public static void getRow(String tableName,String rowKey) throws Exception{
HTable hTable = new HTable(configuration, tableName);
Get get = new Get(rowKey.getBytes());
Result result = hTable.get(get);
for(KeyValue value:result.raw()){
System.out.println("cf:"+new String(value.getFamily())+new String(value.getQualifier())+"="+new String(value.getValue()));
}
}
4、查询rowkey在startRow和endRow之间的数据,及rowkey的范围查询
Put、Delete与Get对象都是Row的子类,从该继承关系中我们就可以了解到Get、Delete与Pu对象本身就只能进行单行的操作,
HBase客户端还提供了一套能够进行全表扫描的API,方便用户能够快速对整张表进行扫描,以获取想要的结果---scan、
/**
* 查询rowkey在startRow和endRow之间的数据
* @param tablename
* @param startRow
* @param endRow
* @throws Exception
*/
public static void getBetweenRow(String tableName,String startRow,String stopRow) throws Exception{
HTable table = new HTable(configuration, tableName);
Scan scan = new Scan();
scan.addColumn("cf1".getBytes(), "colum1".getBytes());
scan.addColumn("cf1".getBytes(), "colum2".getBytes());
scan.addColumn("cf1".getBytes(), "colum3".getBytes()); scan.setStartRow(startRow.getBytes());
scan.setStopRow(stopRow.getBytes()); ResultScanner scanner = table.getScanner(scan); for(Result result:scanner){
for(KeyValue value:result.raw()){
System.out.println("cf:"+new String(value.getFamily())+new String(value.getQualifier())+"="+new String(value.getValue()));
}
}
}
Java操作hbase总结的更多相关文章
- Hbase深入学习(六) Java操作HBase
Hbase深入学习(六) ―― Java操作HBase 本文讲述如何用hbase shell命令和hbase java api对hbase服务器进行操作. 先看以下读取一行记录hbase是如何进行工作 ...
- java操作Hbase实例
所用HBase版本为1.1.2,hadoop版本为2.4 /* * 创建一个students表,并进行相关操作 */ import java.io.IOException; import java.u ...
- 错误: 找不到或无法加载主类 java操作hbase出错
用java操作hbase 利用maven引入hbase包后发现无法启动程序,然后网上说是包的冲突. 我引入了下面三个包然后程序就不能运行了. <dependency> <groupI ...
- Java 操作 HBase 教程
Java 操作 HBase 教程 一.简介 二.hbase-client 引入 三.连接操作 四.表操作 五.运行测试 相关博文原文地址: 博客园:美码师:HBase(2) Java 操作 HBase ...
- 【hbase】——Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
1.搭建环境 新建JAVA项目,添加的包有: 有关Hadoop的hadoop-core-0.20.204.0.jar 有关Hbase的hbase-0.90.4.jar.hbase-0.90.4-tes ...
- (转)Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
1.搭建环境 新建JAVA项目,添加的包有: 有关Hadoop的hadoop-core-0.20.204.0.jar 有关Hbase的hbase-0.90.4.jar.hbase-0.90.4-tes ...
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
1.搭建环境 新建JAVA项目,添加的包有: 有关Hadoop的hadoop-core-0.20.204.0.jar 有关Hbase的hbase-0.90.4.jar.hbase-0.90.4-tes ...
- HBase篇--HBase操作Api和Java操作Hbase相关Api
一.前述. Hbase shell启动命令窗口,然后再Hbase shell中对应的api命令如下. 二.说明 Hbase shell中删除键是空格+Ctrl键. 三.代码 1.封装所有的API pa ...
- HBASE学习d端口master:16010(java操作hbase)https://www.cnblogs.com/junrong624/p/7323483.html
HBase提示已创建表,但是list查询时,却显示表不存在. https://blog.csdn.net/liu16659/article/details/80216085 下载网址 http://a ...
随机推荐
- Win32中常用消息
一 .WM_PAINT消息 1 WM_PAINT的产生 由于窗口的互相覆盖等,产生需要绘制的区域,那么会产生WM_PAINT消息. 一般情况下,不直接发送WM_PAINT消息,通过API声明需要绘 ...
- UIColor的使用
UIColor主要在设置各个控件的颜色的时候用得到,主要有以下几种方法创建UIColor: 1.使用RGBA创建: greenbluealpha]; 2.直接创建各个常用颜色: [UIColo ...
- C# Dictionary的xml序列化
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- About using UTF-8 fields in MySQL
https://www.adayinthelifeof.nl/2010/12/04/about-using-utf-8-fields-in-mysql/ I sometimes hear: “make ...
- cygwin with openssh
新建系统变量 CYGWIN=ntsec path添加 ;c:\cygwin\bin 之后参考http://blog.csdn.net/benkaoya/article/details/8884677 ...
- 在SQL Server 2012中如何使用分组集
作者:Itzik Ben-Gan 翻译:张洪举 此文摘自作者的<Microsoft SQL Server 2012 T-SQL基础>. 分组集就是你据以分组的一个属性集.传统上,SQL中 ...
- JavaWeb学习总结(1-53)
本文转自孤傲苍狼 博客,JavaWeb学习总结 专题,一共53集,讲解简洁清晰,适合入门,链接和截图如下 http://www.cnblogs.com/xdp-gacl/category/574705 ...
- 基于Centos6.x定制化安装步骤
1.获取安装界面代码 挂载image/install.img:mount image/install.img /mnt/5 -o loop 复制挂载后的代码至self_intall ...
- php中传值与传引用的区别。什么时候传值什么时候传引用?
值传递: 函数范围内对值的任何改变在函数外部都会被忽略; 引用传递: 函数范围内对值的任何改变在函数外部也能反映出这些修改: 优缺点:按值传递时,php必须复制值.特别是对于大型的字符串和对象来说 ...
- myeclipse 解决没有自动提示
有时候myeclipse误操作会丢失自动提示功能,使用.也不出现代码提示,进入window->preferences->java->Editor->Content Assist ...