JAVA操作Hbase的CURD操作

2019-04-12  本文已影响0人  analanxingde

这篇文章简要总结JAVA中常用的操作Hbase函数,与之前提到的基本操作不同,本节所介绍的CURD操作不借助于管理元数据的Admin类,而是借助于Table接口

基本操作

1. put C,U

Put put=new Put(Bytes.toBytes("row1"));
put.addColumn(Bytes.toBytes("mycf"),Bytes.toBytes("name"),Bytes.toBytes("jack"));
table.put(put);//table

2. append U

append.add(Bytes.toBytes("mycf"),Bytes.toBytes("name"),Bytes.toBytes("Wang"))
//或append.add(cell)向目标行的相同列和相同列族添加cell里面的value
table.append(append)

3. increment U

Increment inc=new Increment(Bytes.toBytes("row1"));
inc.addColumn(Bytes.toBytes("mycf"),Bytes.toBytes("age"),10L);
table.increment(inc);

4. get R

Result result=table.get(get);
byte [] name=result.getValue(Bytes.toBytes("mycf"),Bytes.toBytes("name"));
System.out.println(Bytes.toString(name));

5. exists R

table.exists(Get get)

6. delete D

Delete delete=new Delete(Bytes.toBytes("row2"));
delete.addColumn(Bytes.toBytes("mycf"),Bytes.toBytes("name"));
table.delete(delete);

7. mutation

合并同一个rowkey的put,add,delete操作

批量操作

批量put 可能会部分put成功
批量get 不会部分成功
批量delete 可能会部分delete成功
批量操作void batch(List<Row> actions,Object[] result)示例如下:

List<Row> actions=new ArrayList<Row>();
Get get=new Get(Bytes.toBytes("row2"));
actions.add(get);

Put put=new Put(Bytes.toBytes("row1"));
put.addColumn(Bytes.toBytes("mycf"),Bytes.toBytes("name"),Bytes.toBytes("jack"));
actions.add(put);

Delete delete=new Delete(Bytes.toBytes("row2"));
delete.addColumn(Bytes.toBytes("mycf"),Bytes.toBytes("name"));
actions.add(delete);

Object[] results=new Object[actions.size()];
table.batch(actions,results);
System.out.println(((Result)results[0]).getValue(Bytes.toBytes("mycf"),Bytes.toBytes("name")));
 
上一篇 下一篇

猜你喜欢

热点阅读