hbase shell行键过滤正则匹配
在实际运维生产环境的过程中,经常遇到需要过滤rowkey包含部分字符的场景。以下列出可行的几种操作方式。
方法一:前缀过滤器字符匹配
c
# 匹配主键开头是abc的数据
hbase> scan 'xxxSpace:table1', {FILTER => "(PrefixFilter('abc')"}
方法二:行键过滤器字符匹配
c
# 匹配主键包含abc的数据
hbase> scan 'xxxSpace:table1', {FILTER => "(RowFilter(=,'substring:abc')"}
# 匹配主键不包含abc的数据
hbase> scan 'xxxSpace:table1', {FILTER => "(RowFilter(!=,'substring:abc')"}
方法三:行键过滤器正则匹配
c
# 匹配主键包含abc的数据
hbase> scan 'xxxSpace:table1', {FILTER => "(RowFilter(=,'regexstring:.*abc.*')"}
# 匹配主键不包含abc的数据
hbase> scan 'xxxSpace:table1', {FILTER => "(RowFilter(!=,'regexstring:.*abc.*')"}