我需要为我的adhoc查询在HBase表上进行扫描。目前我只用一个节点。我想知道是否在多台机器上以分布式模式运行HBase可能会使其速度更快。目前大约需要5分钟在m1.large EC2机器上对300万行进行扫描。 欢迎任何关于如何快速扫描的想法。目前,我已启用scan.setCaching,这对我有很大帮助如果在超过1台计算机上运行HBase,是否更快地在Hbase上运行扫描?
2
A
回答
4
不,添加节点不会加速扫描。 HBase扫描是由于几个原因而连续进行的。
当你做出这样的HTable.getScanner(scan)
什么是返回一个呼叫Result
对象的迭代器 - 在调用了next()
项目,HBase的实际执行使用您的扫描参数的下一行的另一个获取样查询。所有的Scan
对象本身都会生成一个行键列表并提供一个可以在其中移动的迭代器(它实际上对缓存进行了更多的操作,并找出了行键存在于哪些区域,但我们可以忽略它) 。
除了HBase中的Scan
的实际机制之外,还有regions作为物理存储磁盘上数据的基础架构。区域文件中最广泛的组织因素是列族。这很有意义,因为在同一列/系列中获取数据片段时,它可以减少开销。由于列族通常存在于一个区域(或一组区域,随着列族大小的增长),因此并行化扫描的效果会很小,除非您扫描的行数足以保证从多个区域读取,通常建议不要这样做(在某个点之后,使用map/reduce操作收集关于数据集的信息并对其进行计算会变得很有用)。
相关问题
- 1. HBase行内扫描
- 2. Hbase扫描超时
- 3. 如何有效地扫描HBase行
- 4. HBase的快速计算行
- 5. 如何跳过Hbase扫描中的行?
- 6. 如何在远程HBase上运行YCSB
- 7. 如何强制HBase在HDFS上运行?
- 8. 在多台计算机上运行Git
- 9. PHP标题(“位置:...”)在一台计算机上运行,而不是在另一台计算机上运行
- 10. Hbase伪分布式模式不在本地主机上运行
- 11. HBase Mapreduce在多个扫描对象上
- 12. 是否可以在本地计算机上运行.php文件?
- 13. 无法在一台计算机上运行jar,但可以在另一台计算机上运行
- 14. HBASE行前缀扫描以相反的顺序在HBase的
- 15. HBase扫描 - RowKey过滤器
- 16. 在远程HBase上使用Camel进行表扫描
- 17. Hbase扫描与Mapreduce进行实时计算
- 18. Cloudera的1台主机进行扫描,0运行SSH
- 19. HBase扫描是否返回排序列?
- 20. 通过网络在单台计算机上运行调酒师
- 21. Hbase主未运行
- 22. 以百万次扫描运行hbase mapreduce作业有意义吗?
- 23. mapreduce,hbase和扫描
- 24. 运行,将每台计算机上运行命令
- 25. 无法在两台以上的计算机上运行OpenMPI
- 26. 如何在本地主机上运行多个hbase(CDH Distro)实例
- 27. 如何运行HBase程序
- 28. Hbase vs Google Bigtable:扫描大量的行
- 29. HBase行键和范围扫描
- 30. 使用Hbase运行Hadoop的平台
您可以使用mapreduce程序更快地扫描并仅使用映射器类。 – userRaj 2016-06-09 10:01:28