专业只做数据库实训和认证的品牌机构

微信公众号新浪微博
免费咨询电话:400-0909-964
当前位置: 网站首页 > Hadoop > Hadoop课程 > Hadoop高级教程:新旧MapReduce API比较

Hadoop高级教程:新旧MapReduce API比较

文章来源: 更新时间:2016/7/13 15:11:43

在线老师点击咨询:

最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!

我要咨询

Hadoop高级教程:新旧MapReduce API比较,从0.20.0版本开始,Hadoop同时提供了新旧两套MapReduce API。新API在旧API基础上进行了封装,使得其在扩展性和易用性方面更好。新旧版MapReduce API的主要区别如下。

(1)存放位置

旧版API放在org.apache.Hadoop.mapred包中,而新版API则放在org.apache.Hadoop.mapreduce包及其子包中。

(2)接口变为抽象类

接口通常作为一种严格的“协议约束”。它只有方法声明而没有方法实现,且要求所有实现类(不包括抽象类)必须实现接口中的每一个方法。接口的最大优点是允许一个类实现多个接口,进而实现类似C++中的“多重继承”。抽象类则是一种较宽松的“约束协议”,它可为某些方法提供默认实现。而继承类则可选择是否重新实现这些方法。正是因为这一点,抽象类在类衍化方面更有优势,也就是说,抽象类具有良好的向后兼容性,当需要为抽象类添加新的方法时,只要新添加的方法提供了默认实现,用户之前的代码就不必修改了。

考虑到抽象类在API衍化方面的优势,新API将InputFormat、OutputFormat、Mapper、Reducer和Partitioner由接口变为抽象类。

(3)上下文封装

新版API将变量和函数封装成各种上下文(Context)类,使得API具有更好的易用性和扩展性。首先,函数参数列表经封装后变短,使得函数更容易使用;其次,当需要修改或添加某些变量或函数时,只需修改封装后的上下文类即可,用户代码无须修改,这样保证了向后兼容性,具有良好的扩展性。

图展示了新版API中树形的Context类继承关系。这些Context各自封装了一种实体的基本信息及对应的操作(setter和getter函数),如JobContext、TaskAttemptContext分别封装了Job和Task的基本信息,TaskInputOutputContext封装了Task的各种输入输出操作,MapContext和ReduceContext分别封装了Mapper和Reducer对外的公共接口。

除了以上三点不同之外,新旧API在很多其他细节方面也存在小的差别,具体将在接下来的内容中讲解。

由于新版和旧版API在类层次结构、编程接口名称及对应的参数列表等方面存在较大差别,所以两种API不能兼容。但考虑到应用程序的向后兼容性,短时间内不会将旧API从MapReduce中去掉。即使在完全采用新API的0.21.0/0.22.X版本系列中,也仅仅将旧API标注为过期(deprecated),用户仍然可以使用。

本章将对比介绍两套MapReduce API的设计细节。但考虑到新版API只是在旧版基础上封装而来的,因此,我们将详细分析旧版API的设计思路,而对于新版API,仅是概要介绍它与旧版本的不同之处。

本文地址:http://www.cuug.com.cn/hadoop/kecheng/12464356445.html 转载请注明!


在线预约 抢先报名 获取课程排期

Oracle培训机构

金牌讲师<>

冉乃纲-老师CUUG金牌讲师
冉老师 CUUG金牌讲师 Oracle及RedHat高级讲师、Unix/Linux 资深专家...[详细了解老师]

免费咨询上课流程 客服在线中

陈卫星-老师CUUG金牌讲师
陈老师 CUUG金牌讲师 精通Oracle管理、备份恢复、性能优化 11年Ora...[详细了解老师]

免费咨询上课流程 客服在线中

选学校如何选择适合自己的学校

CUUG -CHINA UNIX USER GROUP,是国际UNIX组织UNIFORUM的中国代表,是国内悠久的专业UNIX培训机构,被誉为中国UNIX 的摇篮。多年来,以提高教学质量为本,强调素质教育,积极引进、消化国外的新技术,有效的结合中国....[详情]

一站式服务(从入学到就业一帮到底)

入学

学习

就业

实操

食宿
地址:北京市海淀区北清路164号28-38号院
课程咨询:010-59426307 010-59426319 400-0909-964
企业服务:137 1818 8639(陈经理)
部分信息来源于网络,如有错误请联系指正!
版权所有@北京神脑资讯技术有限公司 (CUUG,中国UNIX用户协会) Copyright 2016 ALL Rights Reserved 京ICP备11008061号-1