Python 内置的map和reduce (groupby) 两个函数,在单机单核下运行的,在微线程下运行的,而且这两个函数是所有函数式编程必备的两个函数。
计算模型Map/Reduce
google的Map Reduce和Hadoop只不过是使用计算框架把跨机器使用Map和Reduce这两个基本的计算单元做了一系列抽象,冗余、容错细节等都用框架处理,只暴露给用户Map和Reduce接口。
Python的Map函数和Hadoop的Map阶段对输入进行逐行处理
Python的Reduce函数和Hadoop的Reduce阶段对输入进行累积处理。
完整的Hadoop MapReduce是Map+Shuffle+Sort+Reduce过程
Shuffle过程是为了让分布式集群之间将同Key数据进行互相交换,Sort过程根据Key对所有数据进行排序,从而才能完成类WordCount功能,而这两步在Python里面是需要用户自己去编写的。
Python写mapper, reducer,然后用shell脚本调用就行了。https://intl.cloud.tencent.com/document/product/1000)