MapReduce2.0

来源:互联网 发布:在哪里注册开淘宝店 编辑:程序博客网 时间:2024/05/22 14:35

MapReduce特点:易于编程、良好扩展性、高容错性、PB级数据离线处理

缺陷:实时计算、流式计算(静态)、DAG计算(依赖关系)

实例:Wordcount 


文件——分片——线程——哈希——汇总

Input:一系列key/value对

两个函数:map(k,v)->list(k1,v1), reduce(k1,list(v1))->v2

Output:一系列(k2,v2)对

map(key,value):  

//文件名,内容

for each word w in value:

emit(w,1)

reduce(key,values):

//词汇,计数

result = 0

for each count v in values:

result += v

emit(key,result)

作业流程总结:

1.Map阶段: MapTask

输入数据格式解析:InputFormat

输入数据处理:Mapper

数据分组:Partitioner

2.Reduce阶段:Reduce Task

数据远程拷贝

按ket排序

数据处理:Reducer

数据输出格式:OutputFormat

0 0