【发布时间】:2017-06-07 04:29:44
【问题描述】:
如何在 hbase shell 中获取具有正则表达式的键的所有值
例如,我有类似的东西 行键列 1,2017-05-06 't1:5' 1,2017-05-07 't2:6'
现在我想要行键 '1,*' 的所有列族,其中 * 表示所有天。有可能吗?
【问题讨论】:
标签: hbase
如何在 hbase shell 中获取具有正则表达式的键的所有值
例如,我有类似的东西 行键列 1,2017-05-06 't1:5' 1,2017-05-07 't2:6'
现在我想要行键 '1,*' 的所有列族,其中 * 表示所有天。有可能吗?
【问题讨论】:
标签: hbase
如果你想使用正则表达式,试试这个。
scan ‘myTable’, {FILTER => "RowFilter(=, 'regexstring:^1,.*’)”}
当您知道模式位于 rowkey 的开头时,最好使用上一个答案中给出的前缀过滤器。
像下面这样更复杂的正则表达式可以在 hbase shell 中使用带有 regexstring 的 Rowfilter。
scan 'myTable', { FILTER => "RowFilter(=, 'regexstring:.*-.+[d]{2}1-.*')" }
这将匹配任何带有模式“dd1-”的行键,其前有一个破折号和一个字符。
您可以使用一些在线正则表达式测试器,例如 https://regex101.com/ 来试用您的正则表达式。
【讨论】:
你可以试试这样的:
scan ‘myTable’, {FILTER => “(PrefixFilter (‘1,’)”}
来源:HBase 文档建议https://learnhbase.wordpress.com/2013/03/02/hbase-shell-commands/
【讨论】: