simplehbase尝试简化基于hbase的java应用开发。
Simplehbase主要提供以下功能:
1 POJO和hbase的映射。
2 提供client,简化hbase的数据操作。
3 提供强语义的插入和更新操作。
Insert操作:只有原数据不存在时,才put成功。
Update操作:只有原数据存在时,才put成功。
simplehbase的代码,测试(示例)代码,文档见附件。
看一个简单的例子:
1 通过注解标示要保存在hbase中的POJO。该POJO对应hbase的Key-Value中的Value。
- @HBaseTable(defaultFamily = MyRecordConstants.ColumnFamilyName, defaultConvertor = DefaultColumnConvertor.class)
- public class MyRecord {
- @HBaseColumn(qualifier = "id")
- private int id;
- @HBaseColumn(qualifier = "name")
- private String name;
- @HBaseColumn(qualifier = "date")
- private Date date;
- @HBaseVersion
- @HBaseColumn(qualifier = "version")
- private long version;
- }
2 定义RowKey,该类型对应hbase的key-value中的key。
- public class MyRecordRowKey implements RowKey {
- private String row;
- public MyRecordRowKey(String row) {
- this.row = row;
- }
- @Override
- public byte[] toBytes() {
- return Bytes.toBytes(row);
- }
- @Override
- public String getTableName() {
- return MyRecordConstants.TableName;
- }
- }
3 使用simplehbase的client和hbase进行交互。
保存数据到hbase。
- MyRecord myRecord = new MyRecord();
- myRecord.setId(0);
- myRecord.setName("allen1");
- myRecord.setDate(new Date());
- myRecord.setVersion(0L);
- MyRecordRowKey myRecordRowKey = new MyRecordRowKey("key_allen1");
- simpleHbaseClient.putObject(myRecordRowKey, myRecord);
删除数据
- MyRecordRowKey myRecordRowKey = new MyRecordRowKey("key_allen1");
- simpleHbaseClient.deleteObject(myRecordRowKey);
按照key查找数据
- MyRecord myRecord2 = simpleHbaseClient.findObject(myRecordRowKey,
- MyRecord.class);
按照startKey和endKey查找列表
- MyRecordRowKey startRowKey = new MyRecordRowKey("key_allen1");
- MyRecordRowKey endRowKey = new MyRecordRowKey("key_allen8");
- List<MyRecord> list = simpleHbaseClient.findObjectList(startRowKey,
- endRowKey, MyRecord.class);
相关推荐
NULL 博文链接:https://zhang-xzhi-xjtu.iteye.com/blog/1953939
simplehbase是java和hbase之间的轻量级中间件。 主要包含以下功能。 数据类型映射:java类型和hbase的bytes之间的数据转换。 简单操作封装:封装了hbase的put,get,scan等操作为简单的java操作方式。 hbase ...
simplehbase是java和hbase之间的轻量级中间件。 主要包含以下功能。 数据类型映射:java类型和hbase的bytes之间的数据转换。 简单操作封装:封装了hbase的put,get,scan等操作为简单的java操作方式。 hbase query...
NULL 博文链接:https://gao-xianglong.iteye.com/blog/2072293
java和hbase轻量级中间件的介绍,包含demo,如何用java操作hbase
hbase-sdk是基于hbase-client和hbase-thrift的原生API封装的一款轻量级的HBase ORM框架。 针对HBase各版本API(1.x~2.x)间的差异,在其上剥离出了一层统一的抽象。并提供了以类SQL的方式来读写HBase表中的数据。对...
本方案主要参照了华为公布的HBase二级索引实现方案。基于hadoop平台,设计了Hbase的二级索引机制。
Indexer 索引和搜索不会影响 HBase 运行的稳定性和 HBase 数据写入的吞吐量,因为索引和 搜索过程是完全分开并且异步的。Lily HBase Indexer 在 CDH5 中运行必须依赖 HBase、 SolrCloud 和 Zookeeper 服务。
基于hbase的企业级大数据平台,
奇虎360 HBASE 二级索引的设计与实践 pdf 完整版,支持千亿级数据量
public class IndexBuilder3 extends Configured{ public static class MapperIndex extends TableMapper,Put>{ private String tableName; private String columnFamily; private String[] qualifiers;...
Hbase shell 、Hbase api、Hbase 配置
java 利用 sping-data-hadoop HbaseTemplate 操作hbase find get execute 等方法 可以直接运行
3,ERROR: org.apache.hadoop.hbase.MasterNotRunningException: Retried 7 times 4,ERROR: org.apache.hadoop.hbase.MasterNotRunningException: Retried 7 times 这是我亲自遇到过的错误及解决过程,希望对大家...
HortonWorks 介绍HBase的企业级应用,以及HBase最新特性 HortonWorks 介绍HBase的企业级应用,以及HBase最新特性 HortonWorks 介绍HBase的企业级应用,以及HBase最新特性
基于Solr的HBase多条件查询原理很简单,将HBase表中涉及条件过滤的字段和rowkey在Solr中建立索引,通过Solr的多条件查询快速获得符合过滤条件的rowkey值,拿到这些rowkey之后在HBASE中通过指定rowkey进行查询。
hbase hbck2修复工具hbase-operator-tools-1.0.0.1.0.0.0-618-bin.tar.gz,hbase1版本的hbck已经不支持修复命令,hbase2.1版本需要用这个新版的工具