(转载)hbase轻量级中间件simplehbase v0.1简介

本文介绍如何利用Simplehbase简化基于HBase的Java应用开发过程,包括POJO与HBase的映射、简化数据操作、提供强语义的插入和更新操作,并通过示例代码展示其使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

simplehbase尝试简化基于hbase的java应用开发。 

Simplehbase主要提供以下功能: 
1 POJO和hbase的映射。 
2 提供client,简化hbase的数据操作。 
3 提供强语义的插入和更新操作。 
  Insert操作:只有原数据不存在时,才put成功。 
  Update操作:只有原数据存在时,才put成功。 

simplehbase的代码,测试(示例)代码,文档见附件。 


看一个简单的例子: 

1 通过注解标示要保存在hbase中的POJO。该POJO对应hbase的Key-Value中的Value。 

Java代码  收藏代码
  1. @HBaseTable(defaultFamily = MyRecordConstants.ColumnFamilyName, defaultConvertor = DefaultColumnConvertor.class)  
  2. public class MyRecord {  
  3.     @HBaseColumn(qualifier = "id")  
  4.     private int id;  
  5.     @HBaseColumn(qualifier = "name")  
  6.     private String name;  
  7.     @HBaseColumn(qualifier = "date")  
  8.     private Date date;  
  9.     @HBaseVersion  
  10.     @HBaseColumn(qualifier = "version")  
  11.     private long version;  
  12. }  




2 定义RowKey,该类型对应hbase的key-value中的key。 

Java代码  收藏代码
  1. public class MyRecordRowKey implements RowKey {  
  2.   
  3.     private String row;  
  4.   
  5.     public MyRecordRowKey(String row) {  
  6.         this.row = row;  
  7.     }  
  8.   
  9.     @Override  
  10.     public byte[] toBytes() {  
  11.         return Bytes.toBytes(row);  
  12.     }  
  13.   
  14.     @Override  
  15.     public String getTableName() {  
  16.         return MyRecordConstants.TableName;  
  17.     }  
  18. }  





3 使用simplehbase的client和hbase进行交互。 

保存数据到hbase。 

Java代码  收藏代码
  1. MyRecord myRecord = new MyRecord();  
  2. myRecord.setId(0);  
  3. myRecord.setName("allen1");  
  4. myRecord.setDate(new Date());  
  5. myRecord.setVersion(0L);  
  6. MyRecordRowKey myRecordRowKey = new MyRecordRowKey("key_allen1");  
  7. simpleHbaseClient.putObject(myRecordRowKey, myRecord);  




删除数据 

Java代码  收藏代码
  1. MyRecordRowKey myRecordRowKey = new MyRecordRowKey("key_allen1");  
  2. simpleHbaseClient.deleteObject(myRecordRowKey);  





按照key查找数据 

Java代码  收藏代码
  1. MyRecord myRecord2 =  simpleHbaseClient.findObject(myRecordRowKey,  
  2.                 MyRecord.class);  





按照startKey和endKey查找列表 

Java代码  收藏代码
  1. MyRecordRowKey startRowKey = new MyRecordRowKey("key_allen1");  
  2. MyRecordRowKey endRowKey = new MyRecordRowKey("key_allen8");  
  3. List<MyRecord> list = simpleHbaseClient.findObjectList(startRowKey,  
  4.         endRowKey, MyRecord.class);  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值