提高Java MapReduce性能的想法

时间:2016-08-12 11:27:29

标签: hadoop mapreduce

我目前正在研究Java MapReduce。我们有一些功能,我们在Java Mapper类中读取每一行,然后对DB进行一些验证。问题是在DB中我们有大约500万条记录。 Mapper的输入文件也可能包含@ 100万的记录。 所以我们每行扫描800万条记录。 这个过程耗费了大量时间。 任何人都可以建议我们是否有更好的方法来改善绩效。

运行多个地图,并行执行(虽然Hadoop Java Map减少了自己这样做)但是看看当前的时间我认为不应该花这么多时间 可能是我缺少Java Map reduce等的任何配置。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

我建议不要在Java代码中验证行,而是使用更严格的SQL WHERE子句来过滤不需要的行。根据行数差异,它应该会给你几个%的性能。

我还建议您对Apache Spark感兴趣,这是更快的Hadoop覆盖。