原生 mapreduce VS hbase mapreduce

Posted

技术标签:

【中文标题】原生 mapreduce VS hbase mapreduce【英文标题】:Native mapreduce VS hbase mapreduce 【发布时间】:2014-02-19 09:26:14 【问题描述】:

如果我使用 TableMapReduceUtil(Hbase) 创建 MR 作业,似乎 hbase 扫描器将数据输入映射器并将数据从 reducer 转换为特定的 hbase 输出格式以将其存储在 hbase 表中。 出于这个原因,我预计 hbase mapreduce 作业将比原生 MR 作业花费更多时间。 那么,Hbase 作业比原生 MR 需要多长时间?

【问题讨论】:

“这取决于您的具体情况”。它明显慢得多,但有一百万个不同的因素。唯一知道的方法是在您的环境中尝试使用您的配置和数据。 谢谢@DonaldMiner,我会试试的:) 【参考方案1】:

关于通过 HBase 的读取可能比直接使用文件的原生 map/reduce 慢 2-3 倍。

在recently announced HBase 0.98 中,他们添加了对 HBase 快照进行映射/缩减的功能。详情请见this presentation(API 幻灯片 7,速度对比幻灯片 16)。

关于写入,您可以直接写入 HFile,然后批量加载到 HBase - 但是由于 HBase 缓存数据并进行批量写入,您也可以对其进行调整并获得可比较或更好的结果

【讨论】:

以上是关于原生 mapreduce VS hbase mapreduce的主要内容,如果未能解决你的问题,请参考以下文章

找不到 hbase.mapreduce.TableOutputFormat

HBase和Mapreduce

MapReduce 与 HBase 的关系?

使用mapreduce复制hbase表

在远程集群上使用 Hbase 运行 Map Reduce

31-hadoop-hbase-mapreduce操作hbase