新旧版hadoop的一些差别
来源:互联网 发布:信息和数据的关系是 编辑:程序博客网 时间:2024/05/15 08:26
Hadoop最新版本的MapReduce Release 0.20.0的API包括了一个全新的Mapreduce JAVA 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中已经荡然无存。
总结
在hadoop权威指南第二版p25中,译者将上面的abstract class翻译成了虚类,是错误的。abstract class应该是抽象类。抽象类与虚类是不同概念的。当时在看到这一段的时候也有点莫名其妙。这两天看了一点关于抽象类与接口的区别方面的内容,感觉hadoop新api应该更倾向于用抽象类,而不是虚类。所以去翻阅了原著。真的发现原著中写的是abstract class。
- 新旧版hadoop的一些差别
- redirectAction新旧版配置的区别-Strust2
- Hadoop新版和旧版中InputSplit大小的区别
- 网站改版时的一种新旧版过渡方案
- 花生壳和新花生壳的差别
- 旧版本scrapy升级新版本遇到的一些问题
- VC6.0与VS2005的一些差别
- PHP4与PHP5的一些差别
- VC6.0与VS2005的一些差别
- C++和C的一些差别
- const修饰指针的一些细微差别
- OC和C的一些差别
- span,div,p的一些小差别
- Hadoop和传统大数据处理方式的差别
- Hadoop的一些经验
- hadoop 的一些错误
- hadoop的一些名词解释
- Hadoop的一些资源
- C++ vector容器类型详解
- 通过命令行来执行php文件
- 项目文件不在apache根目录下怎么可以访问到呢?
- loadrunner简单使用——HTTP,WebService,Socket压力测试脚本编写
- 浅谈Dynamic 关键字系列之一:dynamic 就是Object
- 新旧版hadoop的一些差别
- 编译型语言 和 解释型语言 的区别
- Apparent-time hypothesis
- 循序渐进学unix——上机记录(六),exec
- 浅谈Dynamic 关键字系列之二:调用属性,方法,字段
- SQL Server 跨库查询乱码问题
- 效率问题,Linq查询/多线程/反射/装箱相关
- 浅谈Dynamic 关键字系列之三:ExpandoObject, DynamicObject, DynamicMetaObject
- DataBase => O/R mapping Class => UI 解决方案(.NET/CS/WinForm/Linq)