提高hadoop的mapreduce job效率笔记之二(尽量的用Combiner)
来源:互联网 发布:自己建一个淘宝秒杀群 编辑:程序博客网 时间:2024/06/06 06:37
当job 运行中发现如下的现象,通常job是 可以优化的:
- Job的运行过程中会有一系列的sort 的操作,并且reduce input groups的counter变量的值远远要小于reduce input records counter。
- Job在 mapper完成以后,shuffle过程中传输了大量的中间结果文 件 (例如:每个slave上的map output bytes都好几个GB)
- 在job 的webui上的counter中看到,job的spilled records的数量远远要大于map output records的数量。
如 果job的算法中涉及到许多的排序操作,可以尝试写一个Combiner 来 提高job性能。hadoop 的mapreduce框架中提供了Combiner来减少中间结 果对磁盘的写入和减少中间结果在mapper和reducer之间的传输,通常这两个方面都是非常影响作业性能的两个方面。
性 能对比:
修改wordcount程序,将setCombinerClass去掉,或者不去掉,两种方式对比 运行。去掉的结果是,让每一个mapper的运行时间由原先的33s变成了平均48s,并且shuffle过程中的中间数据 也由1G变成1.4GB,整个的job由原先的8分30 秒变成了15分42秒,将近两倍了。而且,这个测试还是在enable了map的output 压缩的情况下进行的,如果disable这个特性,性能的影响可能会更加大。
Ref: http://blog.csdn.net/ae86_fc/article/details/5284244
- 提高hadoop的mapreduce job效率笔记之二(尽量的用Combiner)
- 提高hadoop的mapreduce job效率笔记之一(修改mapper和reducer数量)
- Hadoop之MapReduce的Combiner详解(三)
- hadoop之 mapreduce Combiner
- MapReduce之combiner的理解
- MapReduce剖析笔记之二:Job提交的过程
- mapreduce的规约(Combiner)
- Hadoop Combiner提高Map/Reduce效率
- Hadoop之Combiner与自定义Combiner(笔记8)
- hadoop - mapreduce, yarn, combiner组件 笔记
- Hadoop的combiner尝试
- Hadoop的Combiner
- Hadoop 使用Combiner提高Map/Reduce程序效率
- Hadoop 使用Combiner提高Map/Reduce程序效率
- Hadoop 使用Combiner提高Map/Reduce程序效率
- Hadoop 使用Combiner提高Map/Reduce程序效率
- Hadoop实战:使用Combiner提高Map/Reduce程序效率
- Hadoop学习笔记(二):MapReduce的进度和状态
- hibernate---->继承
- mvn的pom.xml和osgi的.mf文件
- Symantec SSL 证书
- 安装完fedora16要做的事
- 深度优先搜索、广度优先搜索(java)
- 提高hadoop的mapreduce job效率笔记之二(尽量的用Combiner)
- html中meta http-equiv="refresh"
- 在windows和linux文件共享
- 图片
- 分治法 大数乘法
- 链表的循环链接
- linux平台上通过jfreechart生成的PNG图像中显示的汉字为方框的问题的解决
- Linux内核笔记9
- C#中简单调用c/c++模块