如何在hbase shell中获取具有正则表达式的键的所有值
例如,我有类似的东西 行键列 1,2017-05-06't1:5' 1,2017-05-07't2:6'现在我需要类似于Row键'1,*'的所有列系列,其中*由所有日期表示。有可能吗?
答案 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/之类的在线正则表达式测试程序来试用您的正则表达式。