MaxCompute学习笔记

MaxCompute MapReduce 过程:

以wordcount为例:
a.txt文件如下:

 a,b,a
 b,b,a
 c,a,a

如上所示,有3行

MAP阶段:

1.每一行一个map

map1 负责 a,b,a
map2 负责 b,b,a
map3 负责 c,a,a

2.以 key-value形式读取数据

map1: <a,1> <b,1> <a,1>
map2: <b,1> <b,1> <a,1>
map3: <c,1> <a,1> <a,1>

SHUFFLE阶段:

1.合并排序

排序阶段 (以key值排序)

map1: <a,1> <a,1> <b,1>
map2: <a,1> <b,1> <b,1>
map3: <a,1> <a,1> <c,1>

合并阶段( key值相同的value累加)

map1: <a,2 ><b,1>
map2: <a,1> <b,2>
map3: <a,2> <c,1>

2.分配给Reduce

以key值排序

<a,2> <a,1> <a,2> <b,1> <b,2> <c,1>
按key值分配给不同reduce
reduce1: <a,2> <a,1> <a,2>
reduce2: <b,1> <b,2>
reduce3: <c,1>

REDUCE阶段

合并运算,并排序:

在 Shuffle 阶段前期,首先对每个 Map Worker 的输出
reduce1: <a,5>
reduce2: <b,3>
reduce3: <c,1>
注意: maxcompute mapreduce的输入,输出只能是表

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章