【发布时间】:2015-10-27 06:05:59
【问题描述】:
我有一个 Hbase 表,其中我的行键如下所述
12345678912:::timestamp:::1234567891:::john cf:somedata
12345678912:::timestamp:::1234567891:::smith cf:somedata
12345678912:::timestamp:::1234567891:::lotta cf:somedata
现在,我想使用如下所述的行键正则表达式过滤掉一些行
scan 'mytable', {STARTROW=>'.*:::starttimestamp:::.*:::john', STOPROW=>'.*:::endtimestamp:::.*:::john'}
但这似乎也不起作用,我知道我们不能通过一些研究在 rowkey 中使用正则表达式。
如何在 hbase shell 中使用 FuzzyRowFilter 进行此操作?这个过滤器对我的情况真的有帮助吗?
我知道我可以对特定行使用 SingleColumnValue 过滤器,但我的行键对我来说也很重要。
【问题讨论】:
-
那么你需要在行键和两个时间戳之间的所有行吗?
-
是的,到目前为止我已经尝试过了,但这在获取两个时间戳扫描'mytable'之间的记录时无法正常工作,{FILTER => RowFilter.new(CompareFilter::CompareOp.valueOf('EQUAL') ,RegexStringComparator.new('^\d{1,}:::([startingtimestamp-endingtimestamp]*):::.*:::john'))}