c840136

mapreduce程序效率的瓶颈在于两点:

  1:计算机性能

  2:I/O操作优化

优化无非包括时间性能和空间性能两个方面,存在一下常见的优化策略:

  1:输入的文件尽量采用大文件

    众多的小文件会导致map数量众多,每个新的map任务都会造成一些性能的损失。所以可以将一些小文件在进行mapreduce操作前进行一些预处理,整合成大文件,或者直接采用ConbinFileInputFormat来作为输入方式,此时hadoop会考虑节点和集群的位置信息,已决定将哪些文件打包到同一个单元之中。

  2:合理分配map和reduce任务的数量

    通过属性mapred.tasktracker.map.tasks.maximum和mapred.tasktracker.reduce.tasks.maximum分别可以配置单个节点上map任务和reduce任务的最大数量。

  3:压缩中间数据,减少I/O

  4:在map后先进行combine处理,减少I/O

 

参考资料:《Hadoop 实战》--机械工业出版社

分类:

技术点:

相关文章:

  • 2021-08-30
  • 2021-08-30
  • 2022-12-23
  • 2021-05-20
  • 2023-03-27
猜你喜欢
  • 2021-09-23
  • 2022-12-23
  • 2021-09-09
  • 2021-06-27
  • 2021-11-22
  • 2021-08-30
  • 2022-02-23
相关资源
相似解决方案