MapReduce编程模型

MapReduce编程模型概述

MapReduce适用的场景具有共同的特点:任务可以分解为相互独立的子任务。

MarReduce编程接口体系结构

编程模型位于MapReduce Runtime和应用层之间,共有两层,第一层是Java API,共有5个可编程组件,分别是:InputFormat,Mapper,Partitioner,Reducer,OutputFormate。第二层位于Java API之上,主要是一些工具包,包括JobControl(DAG),ChainMapper,Hadoop String,Hadoop Pipes。

新旧API比较

存放位置不同:

旧API存放于org.apache.hadoop.mapred包

新API存放于org.apache.hadoop.mapreduce包及其子包中

接口变为抽象类:

抽象类具有良好的向后兼容性。当为抽象类添加新方法时,只有有默认实现,用户之前的代码就不用改了,若是接口则不然。

Context的封装

增强了易用性。


新版的API只是在旧版的API上封装而来的,为了更好的易用性和扩展性。


MapReduce API的基本概念

序列化/反序列化

概念:结构化对象和字节流之间的相互转换。

序列化的作用:持久化和进程间通信。

MapReduce中使一个Java对象实现序列化的方法是实现Writable接口

Reporter参数

Reporter是MapReduce提供给应用程序的工具,报告完成进度,设定状态,更新计数器。

Reporter是一个基础参数,MapReduce对外提供的大部分组件中都添加了该参数。

回调机制

InputFormate,Mapper,Partitioner,Reducer,OutputFormate都是回调接口

Java API解析

作业配置与提交

。。。

。。。




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值