`

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

 
阅读更多

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);  
分享到:
评论

相关推荐

    hbase轻量级中间件simplehbase v0.1简介

    标题“hbase轻量级中间件simplehbase v0.1简介”揭示了我们要讨论的主题——SimpleHBase,它是一个针对Apache HBase的轻量级中间件,版本为v0.1。这个中间件可能是为了简化HBase的使用,提高开发效率而设计的。描述...

    HBase轻量级中间件simplehbase.zip

    simplehbase是java和hbase之间的轻量级中间件。 主要包含以下功能。  数据类型映射:java类型和hbase的bytes之间的数据转换。  简单操作封装:封装了hbase的put,get,scan等操作为简单的java操作方式。  hbase ...

    hbase orm simplehbase v1.0

    SimpleHbase是一款针对Java开发的轻量级中间件,它主要设计用于简化HBase数据库的操作。这个库提供了数据类型映射、操作封装、查询封装、动态查询、多版本支持、批量操作等一系列功能,使得Java开发者可以更加高效地...

    HBase轻量级框架Parrot

    **标题:“HBase轻量级框架Parrot”** 在大数据处理领域,Apache HBase是一个流行的分布式、面向列的NoSQL数据库,它构建于Hadoop之上,提供了实时的随机读写能力。然而,对于某些特定场景,HBase的使用可能过于...

    hbase-sdk是基于hbase-client和hbase-thrift的原生API封装的一款轻量级的HBase ORM框架

    hbase-sdk是基于hbase-client和hbase-thrift的原生API封装的一款轻量级的HBase ORM框架。 针对HBase各版本API(1.x~2.x)间的差异,在其上剥离出了一层统一的抽象。并提供了以类SQL的方式来读写HBase表中的数据。对...

    HBase二级索引

    HBase 二级索引 HBase 二级索引是指在 HBase 之上建立的一种二级索引机制,用于提高查询效率。根据华为公布的 HBase 二级索引实现方案,本方案主要参照了该方案,设计了 HBase 的二级索引机制。 知识点一:HBase ...

    simpleHbase1.0

    SimpleHbase1.0,作为一款轻量级的Java与Hbase交互中间件,它的出现极大地简化了Java开发者在处理Hbase数据时的操作流程。这款工具以其高效、易用的特点,深受广大开发者的青睐。下面我们将详细探讨SimpleHbase1.0的...

    ClouderaCMS v0.1 Alpha_clouderacms.zip

    Cloudera CMS v0.1 Alpha是其早期的一个版本,提供了基础的集群配置、监控和优化功能。在这款软件中,用户可以便捷地管理包括HDFS、HBase、Hive、YARN、Spark等在内的多种大数据处理服务。 该压缩包文件...

    hbase二级索引

    二级索引在HBase中的应用,是为了弥补其一级索引(RowKey索引)的不足,它为非RowKey字段提供了快速访问的通道。 首先,我们需要理解HBase的一级索引。HBase的表数据是按照RowKey排序存储的,RowKey是唯一标识一条...

    CDH使用Solr实现HBase二级索引.docx

    CDH 使用 Solr 实现 HBase 二级索引 在大数据处理中,HBase 是一种流行的 NoSQL 数据库,用于存储大量的数据。然而,在查询和检索数据时,HBase 的性能可能不太理想。这是因为 HBase 是基于 Key-Value 的存储方式,...

    axle-hbase_2.10-0.1-M11.zip

    标题中的"axle-hbase_2.10-0.1-M11.zip"表明这是一个与HBase数据库相关的开源项目,版本号为2.10的0.1-M11预发布版本。HBase是一个基于Google Bigtable设计的开源分布式NoSQL数据库,它构建在Hadoop之上,提供高可靠...

    HbaseTemplate 操作hbase

    在IT行业中,尤其是在大数据处理领域,HBase是一个广泛使用的分布式、高性能、列式存储的NoSQL数据库。HBase是建立在Hadoop文件系统(HDFS)之上,为处理大规模数据提供了一个高效的数据存储解决方案。而Spring Data...

    hbase hbck2修复工具hbase-operator-tools-1.0.0.1.0.0.0-618-bin.tar.gz

    hbase hbck2修复工具hbase-operator-tools-1.0.0.1.0.0.0-618-bin.tar.gz,hbase1版本的hbck已经不支持修复命令,hbase2.1版本需要用这个新版的工具

    hbase创建二级索引

    public class IndexBuilder3 extends Configured{ public static class MapperIndex extends TableMapper,Put&gt;{ private String tableName; private String columnFamily; private String[] qualifiers;...

    360HBASE二级索引的设计与实践

    ### 360HBASE二级索引的设计与实践 #### 背景 在大数据处理领域,特别是面对海量数据(如千亿级别的数据量)时,高效的数据存储与快速查询成为了关键的技术挑战之一。HBase作为一种分布式、面向列的NoSQL数据库...

    Hbase分布式数据库 v1.7.2.zip

    HBase提供毫秒级的实时读写性能,适用于需要快速响应的应用场景,如物联网、实时监控等。 **9. 客户端API** HBase提供了多种客户端API,包括Java、Python、PHP等,方便开发人员进行数据操作和应用开发。 **10. ZK...

Global site tag (gtag.js) - Google Analytics