hbase轻量级中间件simplehbase v1.0简介

zhang_xzhi 发布于 2014/12/13 19:42
阅读 762
收藏 6
[url]https://github.com/zhang-xzhi/simplehbase/[/url]
[url]https://github.com/zhang-xzhi/simplehbase/wiki[/url]


simplehbase的主要功能

数据类型映射:java类型和hbase的bytes之间的数据转换。
简单操作封装:封装了hbase的put,get,scan等操作为简单的java操作方式。
hbase query封装:封装了hbase的filter,可以使用sql-like的方式操作hbase。
动态query封装:类似于myibatis,可以使用xml配置动态语句查询hbase。
insert,update支持: 建立在hbase的checkAndPut之上。
hbase多版本支持:提供接口可以对hbase多版本数据进行查询,映射。
hbase批量操作支持。
hbase原生接口支持。
HTablePool管理。
HTable count和sum功能。




V1.0发布note.

Data Object需要被simpleHbase识别,除了原有annotation方式,新增POJO和xml配置方式。

新增count的实现,count时可以limit。

public long count(RowKey startRowKey, RowKey endRowKey,
@Nullable AggregateExtInfo aggregateExtInfo);
public long count(RowKey startRowKey, RowKey endRowKey,
@Nullable String id, @Nullable Map para,
@Nullable AggregateExtInfo aggregateExtInfo);

新增countAndSum。

public long[] countAndSum(RowKey startRowKey, RowKey endRowKey);
public long[] countAndSum(RowKey startRowKey, RowKey endRowKey,
@Nullable AggregateExtInfo aggregateExtInfo);
public long[] countAndSum(RowKey startRowKey, RowKey endRowKey,
@Nullable String id, @Nullable Map para);
public long[] countAndSum(RowKey startRowKey, RowKey endRowKey,
@Nullable String id, @Nullable Map para,
@Nullable AggregateExtInfo aggregateExtInfo);

新增batch get功能。

public List findObjectBatch(List rowKeyList,Class<? extends T> type);
public List> findObjectAndKeyBatch(List rowKeyList, Class<? extends T> type);

增加异常描述family和qualifier,rowKeyHandler,方便问题排查。

调整测试代码。
加载中
0
majinliang
majinliang
你好我是hbase新手,看了一下你写的simplehbase,觉得很好,有一些不明白的地方,想向你请教一下,第一个问题我看到通过HTablePool获得htable对象,使用完之后直接close掉,没有put回去,这样做是为什么,第二个问题HTablePool对象已经不建议使用了 为什么还要用这个对象,是因为这个simplehbase值应用于低版本的hbase吗,问的问题可能有些初级,希望你有时间可以回复一下
0
z
zhang_xzhi
,

1 HtablePool对HTable的引用有缓存,实际返回的是PooledHTable,close的时候,里面还有一层判断,来判断是否放回缓存还是close掉。

2 https://issues.apache.org/jira/browse/HBASE-6580

simplehbase基于0.94开发,但是提供了一个接口HTablePoolService,可以实现该接口,绕过HTablePool的引用。


返回顶部
顶部