hbase - 获取范围内的HBase行键而不检索数据?

标签 hbase

有没有一种方法可以检索给定范围内的行键,而无需实际检索与该行键关联的列/CF?

为了澄清:在我的示例中,表的行键是股票行情自动收录器名称(例如GOOG),在我们的Web应用程序中,我们只想使用数据库中的行键来填充自动完成小部件。显然,如果在用户键入“G”时检索G和H之间所有股票的所有数据(而不仅仅是股票名称),我们将不必要地使系统紧张。有任何想法吗?

最佳答案

根据官方文档,您可以使用两个过滤器(KeyOnlyFilter和FirstKeyOnlyFilter)的组合来最佳地仅检索行键。 (我认为“FirstKeyOnlyFilter”将仅返回键一次,即使有大而复杂的行也是如此。)如果只希望给定范围内的键,则可以将该范围添加到扫描仪中。

这是一些示例代码:

FilterList filters = new FilterList(FilterList.Operator.MUST_PASS_ALL,
            new FirstKeyOnlyFilter(),
            new KeyOnlyFilter());
Scan s = new Scan(filters);
// in order to limit the scan to a range
s.setStartRow(startRowKey);  // first key in range
s.setStopRow(stopRowKey);    // key value after the last key in the range

来源:
https://hbase.apache.org/book.html#perf.hbase.client.rowkeyonly

关于hbase - 获取范围内的HBase行键而不检索数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5668729/

相关文章:

java - 无法连接Hbase shell

hadoop - zookeeper.znode.parent 不匹配异常

java - HBase 连接拒绝

hadoop - 动物园管理员的实际需要

cassandra - HIVE/HDFS 用于大规模实时存储传感器数据?

hadoop - 由于找不到方法错误,在 Hbase 中上传 HFiles 失败

Oracle 到 HBase : Pivot

hadoop - pig 0.13.0 中的错误 2998

hbase - 当要检查的行与 Put 的行不同时,checkAndPut 在什么情况下有用?

hadoop - Phoenix View 未正确读取 HBase 数值