我是 Apache Hbase 的新手,我使用的是 hbase-0.98.13,我创建了一个包含列族 sample_family 的表示例。我已经将 pig 脚本的输出加载到 hbase 表中。当我尝试根据列族中的列之一扫描表时,它需要超过 2 分钟。
这里是查询
scan 'sample', {FILTER=>"SingleColumnValueFilter('sample_family','id',=,'binary:1000')"}
谁能告诉我如何在一两秒内完成这个过程?
是否需要为此进行任何配置更改?任何人都可以帮助我吗?
最佳答案
没有 Elixir 可以在 HBase 中进行快速搜索。 您的示例中的扫描必须遍历表中的所有行,这就是为什么在大型表上花费大量时间的原因。而且 HBase 中没有二级索引可以帮助改进特定列的搜索。
提高扫描性能的最有效方法是正确设计行键。 HBase 在内部按行键对行进行排序,您可以指定扫描的开始行和结束行。因此,将行键设计为按最频繁的条件进行搜索至关重要。在您的问题中,您按 id
列搜索,其中值为 1000
。您可以将此 id 放入行键中(但是,您必须确保避免区域热点)。
关于apache - 如何提高Hbase中的扫描速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33912172/