新旧版hadoop的一些差别
2012-12-24 01:31
176 查看
Hadoop最新版本的MapReduce Release 0.20.0的API包括了一个全新的Mapreduce J***A API,有时候也称为上下文对象。
新的API类型上不兼容以前的API,所以,以前的应用程序需要重写才能使新的API发挥其作用 。
新的API和旧的API之间有下面几个明显的区别。
新的API倾向于使用抽象类,而不是接口,因为这更容易扩展。例如,你可以添加一个方法(用默认的实现)到一个抽象类而不需修改类之前的实现方法。在新的API中,Mapper和Reducer是抽象类。
新的API是在org.apache.hadoop.mapreduce包(和子包)中的。之前版本的API则是放在org.apache.hadoop.mapred中的。
新的API广泛使用context object(上下文对象),并允许用户代码与MapReduce系统进行通信。例如,MapContext基本上充当着JobConf的OutputCollector和Reporter的角色。
新的API同时支持"推"和"拉"式的迭代。在这两个新老API中,键/值记录对被推mapper中,但除此之外,新的API允许把记录从map()方法中拉出,这也适用于reducer。"拉"式的一个有用的例子是分批处理记录,而不是一个接一个。
新的API统一了配置。旧的API有一个特殊的JobConf对象用于作业配置,这是一个对于Hadoop通常的Configuration对象的扩展。在新的API中,这种区别没有了,所以作业配置通过Configuration来完成。作业控制的执行由Job类来负责,而不是JobClient,它在新的API中已经荡然无存。
class。
新的API类型上不兼容以前的API,所以,以前的应用程序需要重写才能使新的API发挥其作用 。
新的API和旧的API之间有下面几个明显的区别。
新的API倾向于使用抽象类,而不是接口,因为这更容易扩展。例如,你可以添加一个方法(用默认的实现)到一个抽象类而不需修改类之前的实现方法。在新的API中,Mapper和Reducer是抽象类。
新的API是在org.apache.hadoop.mapreduce包(和子包)中的。之前版本的API则是放在org.apache.hadoop.mapred中的。
新的API广泛使用context object(上下文对象),并允许用户代码与MapReduce系统进行通信。例如,MapContext基本上充当着JobConf的OutputCollector和Reporter的角色。
新的API同时支持"推"和"拉"式的迭代。在这两个新老API中,键/值记录对被推mapper中,但除此之外,新的API允许把记录从map()方法中拉出,这也适用于reducer。"拉"式的一个有用的例子是分批处理记录,而不是一个接一个。
新的API统一了配置。旧的API有一个特殊的JobConf对象用于作业配置,这是一个对于Hadoop通常的Configuration对象的扩展。在新的API中,这种区别没有了,所以作业配置通过Configuration来完成。作业控制的执行由Job类来负责,而不是JobClient,它在新的API中已经荡然无存。
总结
在hadoop权威指南第二版p25中,译者将上面的abstract class翻译成了虚类,是错误的。abstract class应该是抽象类。抽象类与虚类是不同概念的。当时在看到这一段的时候也有点莫名其妙。这两天看了一点关于抽象类与接口的区别方面的内容,感觉hadoop新api应该更倾向于用抽象类,而不是虚类。所以去翻阅了原著。真的发现原著中写的是abstractclass。
相关文章推荐
- hadoop mr的一些文件归属(包括临时文件的存储情况)
- MySql与SqlServer的一些常用用法的差别
- 一些hadoop脚本用于hbase(mvn)--65
- Hadoop新旧API区别2<转>
- hadoop mapreduce 一些比较重要的类
- 内存小于16GG搭建Hadoop集群的一些个人观点
- hadoop启动的一些相关命令
- 一些文章的搜集——关于Hadoop
- hadoop一些入门命令(笔记)
- hadoop一些基本知识——Mapreduce shuffle和排序
- 最近跑hadoop遇到的一些问题
- hadoop一些概念基础
- hadoop一些常见报错的解决方案
- 关于Hadoop的一些网络资料
- linux下常用指令(centos6、hadoop2.2和一些其他的technique)
- hadoop的一些常见问题及解决方法
- Hadoop的一些基本介绍 jps
- Hadoop的一些认识--------我与Hadoop不得不说的故事
- 关于Hadoop结合RDBMS应用的一些思考
- Hadoop中的一些自定义