`
zhang_xzhi_xjtu
  • 浏览: 525486 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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。
@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);




分享到:
评论
4 楼 zhang_xzhi_xjtu 2014-06-19  
过奖了
di1984HIT 写道
写的很好啊。

3 楼 di1984HIT 2014-06-18  
写的很好啊。
2 楼 zhang_xzhi_xjtu 2014-06-04  
https://github.com/zhang-xzhi/simplehbase/releases
1 楼 krystal_0424 2014-06-03  
jar包呢...

相关推荐

    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的bytes之间的数据转换。 简单操作封装:封装了hbase的put,get,scan等操作为简单的java操作方式。 hbase query...

    HBase轻量级框架Parrot

    NULL 博文链接:https://gao-xianglong.iteye.com/blog/2072293

    simpleHbase1.0

    java和hbase轻量级中间件的介绍,包含demo,如何用java操作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二级索引实现方案。基于hadoop平台,设计了Hbase的二级索引机制。

    Hbase 二级索引方案

    Indexer 索引和搜索不会影响 HBase 运行的稳定性和 HBase 数据写入的吞吐量,因为索引和 搜索过程是完全分开并且异步的。Lily HBase Indexer 在 CDH5 中运行必须依赖 HBase、 SolrCloud 和 Zookeeper 服务。

    基于hbase的企业级大数据平台

    基于hbase的企业级大数据平台,

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

    奇虎360 HBASE 二级索引的设计与实践 pdf 完整版,支持千亿级数据量

    hbase创建二级索引

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

    Hbase基本用法简介

    Hbase shell 、Hbase api、Hbase 配置

    HortonWorks-HBase的企业级应用-Ted-Yu.zip

    HortonWorks 介绍HBase的企业级应用,以及HBase最新特性 HortonWorks 介绍HBase的企业级应用,以及HBase最新特性 HortonWorks 介绍HBase的企业级应用,以及HBase最新特性

    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版本需要用这个新版的工具

    hadoop hbase 错误日志级解决

    3,ERROR: org.apache.hadoop.hbase.MasterNotRunningException: Retried 7 times 4,ERROR: org.apache.hadoop.hbase.MasterNotRunningException: Retried 7 times 这是我亲自遇到过的错误及解决过程,希望对大家...

    HbaseTemplate 操作hbase

    java 利用 sping-data-hadoop HbaseTemplate 操作hbase find get execute 等方法 可以直接运行

    hbase 2级索引

    基于Solr的HBase多条件查询原理很简单,将HBase表中涉及条件过滤的字段和rowkey在Solr中建立索引,通过Solr的多条件查询快速获得符合过滤条件的rowkey值,拿到这些rowkey之后在HBASE中通过指定rowkey进行查询。

Global site tag (gtag.js) - Google Analytics