paulwong

Simplehbase

https://github.com/zhang-xzhi/simplehbase/
https://github.com/zhang-xzhi/simplehbase/wiki


## simplehbase简介
simplehbase是java和hbase之间的轻量级中间件。
主要包含以下功能。
* 数据类型映射: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原生接口支持。


### v0.9
新增

支持HTable如下使用方式,对HTable可以定时flush。
主要场景:
批量写入,但是flush可以配置为指定时间间隔进行。
不降低批操作的吞吐,同时,有一定的实时性保证。

支持用户自定义htablePoolService。
多个HTable可以使用同一个线程池。

intelligentScanSize功能,可以根据limit的值设定scan的cachingsize大小。


### v0.8
批量操作接口新增
public <T> void putObjectList(List<PutRequest<T>> putRequestList); 
public void deleteObjectList(List<RowKey> rowKeyList, Class<?> type); 
public <T> void putObjectListMV(List<PutRequest<T>> putRequests,long timestamp) 
public <T> void putObjectListMV(List<PutRequest<T>> putRequests,Date timestamp) 
public <T> void putObjectListMV(List<PutRequest<T>> putRequestList) 
public void deleteObjectMV(RowKey rowKey, Class<?> type, long timeStamp) 
public void deleteObjectMV(RowKey rowKey, Class<?> type, Date timeStamp) 
public void deleteObjectListMV(List<RowKey> rowKeyList, Class<?> type,long timeStamp) 
public void deleteObjectListMV(List<RowKey> rowKeyList, Class<?> type,Date timeStamp) 
public void deleteObjectListMV(List<DeleteRequest> deleteRequestList,Class<?> type); 


Util新增(前缀查询使用)
public static RowKey getEndRowKeyOfPrefix(RowKey prefixRowKey) 

性能改进
把get的实现从scan调回get。

### v0.7新增功能:
支持查询时主记录和关联的RowKey同时返回。 

posted on 2014-07-15 08:35 paulwong 阅读(373) 评论(0)  编辑  收藏 所属分类: HADOOPHBASE


只有注册用户登录后才能发表评论。


网站导航: