MapReduce流程
2020-02-24 11:11:10 0 举报
MapReduce流程详解
作者其他创作
大纲/内容
分区排序2
1、根据程序中设置的InputFormat遍历待处理文件,计算切片大小,生成规划文件。
分区1
分区2拷贝到ReduceTask2
7、分区
分区2压缩
第一次溢写,80MB
分区2
Reducer
分区排序1
MapReduce流程图
默认100MB,80%阈值溢写
13、GroupByKey,分组后一次一组进入Reducer
--XiangNing
Mapper
Part-r-000002
Part-r-000001
预合并(此步为可选项)
8、排序
4、同时InputFormat读取切片RecorderReader---read()
2、计算MapTask个数
最后一块切片可以不大于1.1值
...同上...
ReduceTask2
14、OutputFormat-RecordWriter
分区2归并
ReduceTask1
预合并及压缩(皆为可选项)
客户端
Map(K,V)Context.write
同上
span style=\"font-size: inherit;\
9、归并排序
(K,V)
第二次溢写,48MB
待处理文件,396MB。
3、根据设置切片大小进行切分(逻辑层面)
6、Map(K,V)数据进入环形缓冲区
MapTask1
12、下载到磁盘,然后归并排序
切片2(128MB):。。。
10、写入磁盘
e 2d 1...
5、对数据进行Mapper处理
环形缓冲区
(以计数为例)
MR APPMasterNodeManager
分区1压缩
4、客户端submit()
切片3(140MB):。。。
11、将所有MapTask分区1数据拷贝进ReduceTask1中
a 5b 1c 1...
分区1归并
YarnRM
收藏
收藏
0 条评论
下一页