MapReduce计算模型
1.计算抽象到两个函数
map()
reduce()
2.input>map>shuffle>reduce>output
MapReduce可以没有reduce部分,但是必须要有map部分
3.MapReduce可以编写成一个固定的模板
键值对<keyvalue>是整个程序的流向
输入数据如何转换为<keyvalue>
map如何处理<keyvalue>
reduce如何来处理<keyvalue>
4.以wordcount单词统计为例
hadoop mapreduce <keyvalue>
hadoop hive <keyvalue>
hadoop maven <keyvalue>
maven shanghai <keyvalue>
mapreduce hive <keyvalue>
MapReduce框架本身有一个默认的实现
一行就是一个<keyvalue>
key是偏移量
value是这一行的值
分割单词,看看有多少个单词
<0,hadoop mapreduce>分割成map reduce
<hadoop,1> <mapreduce,1>
<hadoop,1> <hive,1>
<hadoop,1> <maven,1>
<maven,1> <maven ,1>
...
reduce阶段,将相同key的value加在一起
<Hadoop,list(1,1,1)>将结果集放在一起
reduce实际情况下数目只有一个,根据实际的业务可以设置多个
1.计算抽象到两个函数
map()
reduce()
2.input>map>shuffle>reduce>output
MapReduce可以没有reduce部分,但是必须要有map部分
3.MapReduce可以编写成一个固定的模板
键值对<keyvalue>是整个程序的流向
输入数据如何转换为<keyvalue>
map如何处理<keyvalue>
reduce如何来处理<keyvalue>
4.以wordcount单词统计为例
hadoop mapreduce <keyvalue>
hadoop hive <keyvalue>
hadoop maven <keyvalue>
maven shanghai <keyvalue>
mapreduce hive <keyvalue>
MapReduce框架本身有一个默认的实现
一行就是一个<keyvalue>
key是偏移量
value是这一行的值
分割单词,看看有多少个单词
<0,hadoop mapreduce>分割成map reduce
<hadoop,1> <mapreduce,1>
<hadoop,1> <hive,1>
<hadoop,1> <maven,1>
<maven,1> <maven ,1>
...
reduce阶段,将相同key的value加在一起
<Hadoop,list(1,1,1)>将结果集放在一起
reduce实际情况下数目只有一个,根据实际的业务可以设置多个