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

Nip*_*pun 2 hbase

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

例如,我有类似 Row key Column 1,2017-05-06 't1:5' 1,2017-05-07 't2:6'

现在我想要类似行键“1,*”的所有列族,其中 * 表示所有日期。是否可以?

spa*_*han 5

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

\n\n
scan \xe2\x80\x98myTable\xe2\x80\x99, {FILTER => "RowFilter(=, \'regexstring:^1,.*\xe2\x80\x99)\xe2\x80\x9d}\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

像下面这样更复杂的正则表达式可以在 hbase shell 中将 Rowfilter 与 regexstring 结合使用。

\n\n
scan \'myTable\', { FILTER => "RowFilter(=, \'regexstring:.*-.+[d]{2}1-.*\')" }\n
Run Code Online (Sandbox Code Playgroud)\n\n

这将匹配任何具有模式“dd1-”且前面带有破折号和一个字符的行键。

\n\n

您可以使用一些在线正则表达式测试器(例如https://regex101.com/)来尝试您的正则表达式。

\n