我在 hbase 中的行键是不同长度的数字,例如 1,2,3.....32423480, 32423481..
当我使用
scan 'table' {STARTROW => '1', ENDROW => '3'}  
要扫描表,我只想要行键为 1,2,3 的结果,但它返回所有以 1,2,3 开头的行,例如 1003423,200034..
是否可以使用 hbase shell 或 java api 以数字方式过滤行键范围?
谢谢
我更熟悉 Apache Accumulo(另一个 BigTable 实现),但我相信 HBase 的运行方式类似。
键按字典顺序排序,因此您已经观察到 '2' 之前的 '11' 排序。通常,您所做的是格式化键以强制排序在您的域中有意义。因此,例如,如果您的键最大值为 99999,您最多可以填充 5 个字符。
1  becomes 00001
2  becomes 00002
11 becomes 00011
etc
这样 HBase 将根据预期的数字顺序对您的键进行排序,您可以扫描范围,如 (00001, 00003)。
| 归档时间: | 
 | 
| 查看次数: | 1054 次 | 
| 最近记录: |