Hadoop MapReduce 常见问题【二】

MapReduce***
1.mapreduce核心思想?
1.分治思想;2.移动计算而不是移动数据

2.特点:计算跟着数据走,批处理,高容错,扩展好

3.MR的几个阶段?
split:Split的大小默认 等于 Block大小,决定map任务数量;
map:split切片输入,key-value输出
reduce:由若干Reduce任务组成,数量由程序指定
shuffle:中间环节,包括分区(哈希取模)将map中间结果输出到buffer区,然后分区排序,当达到阈值溢将
一个临时文件写到磁盘上,map任务结束前临时文件合并为一个map文件,fetch等

Partition决定了Map任务输出的每条数据放入哪个分区,交给哪个Reduce任务处理
• Reduce任务的数量决定了Partition数量
• Partition编号 = Reduce任务编号 =“key hashcode % reduce task number”

Hadoop1和2的区别?
1.1有单点故障,资源描述简单,负载太重;2融合yarn 高可用,高扩展,资源有专门的角色管理,任务和资源分开

4.mapreduce key-value输入输出的原因?
答:
1.通用数据格式
2.shuffle过程要排序合并,哈希取模可以决定分区partition

5.shuffle是调优关键?
答:shuffle的过程:先写内存(内存中先分区后排序) 然后溢写硬盘 再合并(大文件的分区排序)

猜你喜欢

转载自blog.csdn.net/dscfirst/article/details/91956898