我有一个包含以下行键格式的HBase表:
<salt>:<id>#<category>#<class>
000001:1234#AAAAAAAAAA#BBBBBBB
000001:2345#CCCCCCCCCC#DDDDDDD
000002:1234#EEEEEEEEEE#FFFFFFF
...
我想在行键上设置Scan
并获取密钥包含id=1234
的所有行。是否可以向regex
添加SubstringComparator
或PrefixFilter
(PrefixFilter
完全适用于id
过滤,然后才添加salt
键前面的值)?
或者还有其他可能性来搜索这个关键部分吗?
答案 0 :(得分:0)
您需要RowFilter
RegexStringComparator
:
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")
);