java – 如何过滤部分行键扫描HBase?

前端之家收集整理的这篇文章主要介绍了java – 如何过滤部分行键扫描HBase?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有带行键的HBase表,它由文本ID和时间戳组成,如下所示:
...
string_id1.1470913344067
string_id1.1470913345067
string_id2.1470913344067
string_id2.1470913345067
...

如何过滤HBase扫描(在Scala或Java中)以获得某些字符串ID和时间戳超过某个值的结果?

谢谢

解决方法

模糊行方法对于这种要求是有效的,并且当数据很大时:
正如 article所解释的那样
FuzzyRowFilter将行键和掩码信息作为参数.

在上面的示例中,如果我们想要找到最后登录用户并且行键格式是userId_actionId_timestamp(其中userId具有固定长度,例如4个字符),我们要查找的模糊行键是???? _ login_.这转换为FuzzyRowKey的以下参数:

FuzzyRowFilter rowFilter = new FuzzyRowFilter(
 Arrays.asList(
  new Pair<byte[],byte[]>(
    Bytes.toBytesBinary("\x00\x00\x00\x00_login_"),new byte[] {1,1,0})));

建议通过hbase-the-definitive guide – > Client API: Advanced Features

猜你在找的Java相关文章