加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 00:36:29 所属栏目:Java 来源:网络整理
导读:我有带行键的HBase表,它由文本ID和时间戳组成,如下所示: ...string_id1.1470913344067string_id1.1470913345067string_id2.1470913344067string_id2.1470913345067... 如何过滤HBase扫描(在Scala或Java中)以获得某些字符串ID和时间戳超过某个值的结果? 谢
我有带行键的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("x00x00x00x00_login_"),new byte[] {1,1,0})));

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读