hbase shell命令用于获取带有正则表达式的所有行键

时间:2017-06-07 04:29:44

标签: hbase

如何在hbase shell中获取具有正则表达式的键的所有值

例如,我有类似的东西 行键列 1,2017-05-06't1:5' 1,2017-05-07't2:6'

现在我需要类似于Row键'1,*'的所有列系列,其中*由所有日期表示。有可能吗?

2 个答案:

答案 0 :(得分:3)

您可以尝试这样的事情:

scan ‘myTable’, {FILTER => “(PrefixFilter (‘1,’)”}

来源:HBase文档建议https://learnhbase.wordpress.com/2013/03/02/hbase-shell-commands/

答案 1 :(得分:2)

如果要使用正则表达式,请尝试此操作。

scan ‘myTable’, {FILTER => "RowFilter(=, 'regexstring:^1,.*’)”}

当您知道模式位于rowkey的开头时,最好使用上一个答案中给出的前缀过滤器。

更复杂的正则表达式如下所示可以在hbase shell中使用带有regexstring的Rowfilter。

scan 'myTable', { FILTER => "RowFilter(=, 'regexstring:.*-.+[d]{2}1-.*')" }

这将匹配任何带有模式“dd1-”的rowkey,并带有短划线和前面的一个字符。

您可以使用https://regex101.com/之类的在线正则表达式测试程序来试用您的正则表达式。