立即学习:https://edu.youkuaiyun.com/course/play/26303/334550?utm_source=blogtoedu
上面是在map和reducer之间加了combiner,增加了任务性能
总结:
1. reduce需要写函数,map有时候不用写
2. map工作主要修改key,reducer主要修改values
3. 对已有的算法惊醒map-reducer化
4. map对一个键值对输入产生一序列中间键值对
5. map函数将对所有输入键值对操作
6. 相同的key值被reducer放在一起,reducer函数对每一个不同的key进行操作
7. map和reducer属于分治思想,通过hash分桶来处理,map是发散过程,reducer是收敛过程
8. map任务数目远大于reducer
9. map-reducer会有输入输出,输出后再次进入map-reducer,如此循环迭代,在磁盘级别的操作,所以开销会很大,spark是在内存级别的操作,所以对内存开销会很大,但速度很快
10. spark稳定不如map,spark只读一次
11. map-reducer主要做特征的转换,数据的提取,转换,处理写入
12. 做特征的用map,reduce,导出的特征用于机器学习训练的用spark建模,用hadoop streaming方便任何语言编写map-reducer