电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Hadoop的MapReduce执行过程介绍

Hadoop的MapReduce执行过程介绍_第1页
1/17
Hadoop的MapReduce执行过程介绍_第2页
2/17
Hadoop的MapReduce执行过程介绍_第3页
3/17
1、Map-Reduce 的逻辑过程 假设我们需要处理一批有关天气的数据,其格式如下: •按 照 ASCII 码 存 储 ,每 行 一条 记 录 •每 一行 字 符 从 0 开 始 计 数,第 15 个 到 第 18 个 字 符 为 年 •第 25 个 到 第 29 个 字 符 为 温 度 ,其中 第 25 位 是 符 号 +/- 我们现 在 需要统 计 出 每 年 的最 高 温 度 。 Map-Reduce 主 要包 括 两 个 步 骤 :Map 和 Reduce 每 一步 都 有key-value 对 作 为 输 入 和 输 出 : •map 阶 段 的key-value 对 的格式是 由 输 入 的格式所 决 定 的,如果 是默 认 的TextInputFormat,则 每 行 作 为 一个 记 录 进 程处理,其中key为 此 行 的开 头 相 对 于 文 件 的起 始 位 置 ,value 就 是 此 行 的字 符 文 本 •map 阶 段 的输 出 的key-value 对 的格式必 须 同reduce 阶 段 的输 入key-value 对 的格式相 对 应 对 于 上 面 的例 子 ,在 map 过程,输 入 的key-value 对 如下: 在map 过程中,通过对每一行字符串的解析,得到年-温度的key-value 对作为输出: 在reduce 过程,将 map 过程中的输出,按照相同的 key 将 value 放到同一个列表中作为 reduce 的输入 在reduce 过程中,在列表中选择出最大的温度,将年-最大温度的key-value 作为输出: 其逻辑过程可用如下图表示: 2、编写 Map-Reduce 程序 编写 Map-Reduce 程序,一般需要实现两个函数:mapper 中的 map 函数和 reducer 中的 reduce 函数。 一般遵循以下格式: 注:Reporter: Reporter 是用于 Map/Reduce 应用程序报告进度(心跳),设定应用级别的状态消息, 更新 Counters(计数器)的机制。 OutputCollector: OutputCollector 是一个Map/Reduce 框架提供的用于收集 Mapper或Reducer 输出数据的通用机制 (包括中间输出结果和作业的输出结果)。 对于上面的例子,则实现的mapper 如下: 实现的reducer 如下: 注:代码中 LongWritable, IntWritable, Text 均是 Hadoop 中实现的用于封装 Java 数据类型的类,这些类都能够被串行化从而便于在分布式环境中进行数据交换,你可以将它们分别视为 long, int, String 的替代品 欲运行上面实现的Mapper 和Reduce,则需要生成一个Map-Re...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Hadoop的MapReduce执行过程介绍

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部