牛骨文教育服务平台(让学习变的简单)
博文笔记

HBase有感(二)

创建时间:2013-09-04 投稿人: 浏览次数:1410

1.当使用复合行键作为rowkey时,其中某个组成部分是变长部分可以使用散列处理,生成固定的长度的值,如MD5算法

2.时间戳可以乘以-1,便于返回最新数据

3.通过对用户id部分的最后字符加1来生成停止键,扫描器返回包括起始键但不包括停止键的记录

byte[] userHash = Md5Utils.md5sum(user);
byte[] startRow = Bytes.padTail(userHash, longLength);
byte[] stopRow = Bytes.padTail(userHash, longLength);
stopRow[Md5utils.MD5_Length-1]++;
4.扫描器缓存Hbase.client.scanner.caching属性可以设置,默认是1

5.过滤器是在Hbase服务器端上而不是在客户端执行判断动作,

需要实现org.apache.hadoop.hbase.filter.filter接口

可以结合RegexStringComparator使用ValueFilter

Scan s = new Scan();
s.addColumn(Bytes.toBytes("twits"),
Bytes.toBytes("twit"));
Filter f = new ValueFilter(
CompareOp.EQUAL,
new RegexStringComparator(".*TwitBase.*"));
s.setFilter(f);


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。