标签:计算 阶段 步骤 移动 分发 输入 pipe pipeline worker
好程序员大数据学习路线分享MAPREDUCE,需求:统计大量的文本文件中的单词出现的次数::如何确定需要运行多少task(并行度)::
决定需要多大的并行度
返回一任务规划描述文件:job.split:
编写MR程序的步骤:
1、用户编写程序分为三个部分:Mapper、Reducer、Driver
2、Mapper的输入数据是kv对的形式(数据类型可自定义)
3、Mapper的输出数据是kv对的形式(数据类型可自定义)
4、Mapper中的业务逻辑写在map()方法中
5、Map()方法对每一对kv值调用一次
6、Reducer的输入数据是kv对的形式(数据类型可自定义)
7、Reducer的输出数据是kv对的形式(数据类型可自定义)
8、Reducer中的业务逻辑写在reduce()方法中
9、ReduceTask进程对每一组相同的key的<k,v>调用一次reduce()方法
10、用户自定义的Mapper、Reducer类都要继承各自的父类
11、整个程序需要一个Driver来进行提交,提交是一个描述了各种必要信息的job对象
标签:计算 阶段 步骤 移动 分发 输入 pipe pipeline worker
原文地址:https://blog.51cto.com/14479068/2431729