MapReduce主要用途是进行分布式计算
一、MapReduce理解
宏观上的理解:
MapReduce仅仅是作为客户端(Client)把代码程序提交到Yarn平台上,MapReduce jar在Yarn上运行,属于客户端提交的过程,hdfs上传的命令。
MapReduce指的是Map()和Reduce()函数,正常写的代码是需要继承它的,但是企业上进行生产一般是不会用它,但是它也至关重要,因为它是做大数据计算的第一批组件,后面的很多大数据开发或开源的计算组件很多的思想理念都是以MapReduce为核心的,比如Spark、Hive(解决了MapReduce的一些痛点问题)。
首先
Map()函数是:映射
-----元素在映射过程中会变成(key,value)键值的的结构,元素个数不变。
例如:
----------(key,value)
x ------>(x,1)
y ------>(y,1)
Z ------>(z,1)
Reduce()函数:归约
-----计算合并,元素个数必然变少,将映射的规则进行统计
例如
-------- (key,value)
x ------>(x,1)
x ------>(x,1) ------->(x,1+1+1)
x ------>(x,1)
y ------>(y,1) ------->(y,1)
当然,如果将SQL语句输出的结果也如上所示形式,