课程目录:
分布式处理框架MapReduce
MapReduce概述
MapReduce编程模型详解
MapReduce实战
分布式计算框架MapReduce
MapReduce概述:
源自于Google的MapReduce论文,论文发表于2004年12月。
Hadoop MapReduce是Google MapReduce的克隆版。
MapReduce优点: 海量数据离线处理&易开发&易运行。
MapReduce缺点: 实时流式计算。
MapReduce编程模型之通过wordcount词频统计分析案例入门
MapReduce编程模型之Map和Reduce阶段
将作业拆分成Map阶段和Reduce阶段
Map阶段: Map Tasks
Reduce阶段: Reduce Tasks
MapReduce编程模型之核心概念
Split
InputFormat
OutputFormat
Combiner
Partitioner
Access.java
手机号,上行流量,下行流量,总流量。
既然要求和: 根据手机号进行分组,然后把该手机号对应的上下行流量加起来。
Mapper: 把手机号,上行流量,下行流量,拆开。
把手机号作为key,把Access作为value写出去。
Reducer: (13726238888,<Access,Access>)
numReduceTasks:你的作业所指定的reducer的个数,决定了reduce作业输出文件的个数
HashPartitioner是MapReduce默认的分区规则
reducer个数: 3
1%3=1
2%3=2
3%3=0
需求: 将统计结果按照手机号的前缀进行区分,并输出到不同的输出文件中去
Partitoner决定maptask输出的数据交由哪个reducetask处理。
默认实现: 分发的key的hash值与reduce task个数取模。