apache - 如何提高Hbase中的扫描速度

标签 apache hadoop hbase

我是 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/

相关文章:

java.lang.NoSuchMethodError : org. apache.catalina.Context.addLifecycleListener

Apache 更新后无法启动

java - 超过半数zookeeper服务器宕机,zookeeper集群还能正常工作吗?

hadoop - 取出 pig 中的空袋

apache-spark - MapReduce 还是 Spark?

hadoop - HBase聚合、Get And Put操作、Bulk操作

java - 如何使用 Apache 客户端 4.5.5 处理无效的 SSL 证书?

php - 限制 PHP 的文件系统访问文件夹

apache - Hadoop架构既可用于原始日志,又可用于单击和查看

hadoop - HBase 表作为 MapReduce 输入?