MapReduce的运行流程

input:读取数据

map:将整个任务分割成多个task,每个task处理一部分数据

shuffle:对数据进行分区、排序、分组

reduce:将所有分割的任务的处理结果进行合并

output:将整个程序的结果进行输出

例如:文本中含有数据

hadoop hive hbase hadoop hive spark
spark impala hadoop

 

input:

hadoop hive hbase hadoop hive spark
spark impala hadoop

map(in):MapReduce的默认输入格式

<偏移量(100),hadoop hive hbase hadoop hive spark >

<偏移量(120),spark impala hadoop >

map(out):

hadoop 1
hive 1
hbase 1
hadoop 1
hive 1
spark 1
spark 1
impala 1
hadoop 1

shuffle(out):

hadoop list<1,1,1>
hbase list<1>
hive list<1,1>
spark list<1,1>
impala list<1>

reduce(out):

hadoop 3
hbase 1
hive 2
impala 1
spark 2

 output:

hadoop 3
hbase 1
hive 2
impala 1
spark 2

 

posted on 2017-09-25 00:49  任性的大萝卜  阅读(102)  评论(0编辑  收藏  举报

导航