【问题标题】:HBase: Scan for Row Keys containing a StringHBase:扫描包含字符串的行键
【发布时间】:2017-10-05 12:10:10
【问题描述】:

我有一个 HBase 表,其中包含以下行键格式:

<salt>:<id>#<category>#<class>

000001:1234#AAAAAAAAAA#BBBBBBB
000001:2345#CCCCCCCCCC#DDDDDDD
000002:1234#EEEEEEEEEE#FFFFFFF
...

我想在行键上创建一个Scan 并获取键包含id=1234 的所有行。是否可以在PrefixFilter 中添加regexSubstringComparator(在我将salt 值添加到键前面之前,PrefixFilter 非常适合id 过滤)?

或者是否有其他可能搜索这个关键部分?

【问题讨论】:

    标签: hadoop nosql hbase


    【解决方案1】:

    你需要一个RowFilterRegexStringComparator

    import org.apache.hadoop.hbase.filter.CompareFilter;
    import org.apache.hadoop.hbase.filter.RegexStringComparator;
    import org.apache.hadoop.hbase.filter.RowFilter;
    
    RowFilter filter = new RowFilter(
        CompareFilter.CompareOp.EQUAL, 
        new RegexStringComparator("your_regexp")
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多