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

标签 hbase

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

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

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

最佳答案

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

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

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

像下面这样更复杂的正则表达式可以在 hbase shell 中使用带有正则表达式字符串的 Rowfilter。

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

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

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

关于hbase shell 命令使用正则表达式获取所有行键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44403528/

相关文章:

mongodb - 最好没有 sql 数据库来进行用户配置文件管理

shell - 使用HBase Shell进行与列族TTL不同的Put

hadoop - Hbase Map reduce 和 Index

java - HBase:通过 Java API 截断表启用表截断

hadoop - HBase - hbase :metadata holds info about non existing RegionServer ID - "Master startup cannot progress, in holding-pattern until region onlined."

hadoop - 运行 Phoenix 示例错误

java - 为什么在java中使用 Protocol Buffer

hadoop - HBase局部扫描怎么办?

hadoop - 在 hive 中查询 hbase 外部表时出现 NullPointerException

scala - ZooKeeper 返回 HBase 服务器地址的垃圾字符