突然现在对以后的职业方向有些迷茫,不知道去干什么,现在有一些语言基础,相对而言好的一些有Java和C,选来选去不知道该选择哪个方向,爬了好多网页后,觉得自己应该从java开始出发,之前有点心不在焉,不知道从而且还在中途走了一段的弯路,没事干又跑去研究了一段时间的Php,但是后来发现php可以作为自己的一个业余爱好吧,还好自己还有时间,觉得从java基础学习一下基于hadoop的海量数据处理还是就业前景还是不错的,奥,跑题了,随便扯点,最近学习hadoop,看到第二章,发现这里有点意思,里边的一部分翻译自hadoop:the definitive guide.自己对没一点做出一些自己的理解。

1、新版本相对旧版本的的api更倾向于用抽象类,而非接口

2、新的API在org.apache.hadoop.mapreduce包中,就版本的在org.apache.hadoop.mapre中

3、新的API充分使用上下文对象,使用户代码能够和mapreduce系统通信

4、新的API可以通过重写run()可以控制mapper和reducer的控制流程,旧的只能通过写MapRunnable类在控制mapper但是不能控制reducer.

5、新的API作业控制由Job类实现,旧的由JobClient

6、新的API实现了配置统一,旧的API通过一个特殊的JobConf对象配置作业

7、输出文件命名也发生了变化,旧的API统一命名为part-nnmm, 新的map输出文件命名为part-m-nnmm,reduce命名为part-r-nnmm

8、新的API中用户重载函数被声明为抛出异常java.lang.InterruptedException,可以通过代码来响应中断.

9、新的API中reduce()传递的值为java.lang.Interable类型,而非java.lang.iterator,可以更容易地使用java的for-each循环结构

[hadoop]hadoop api 新版本与旧版本的差别的更多相关文章

  1. C#winform程序安装时自动卸载新版本覆盖旧版本

    vs2005为winform程序做的安装包.在以有程序旧版本的机子上用新版本的安装包安装软件时提示  “以经安装该产品的另一个版本.无法继续安装此版本........” 在安装部署项目中设“Remov ...

  2. 2.每人自己建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别。答题人:张立鹏

    第1步:创建SSH Key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步.如果没有,打开Shell ...

  3. 第二章——建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别-----答题者:徐潇瑞

    1.首先下载安装git,很简单所以就不详细说了,当弹出一个类似的命令窗口的东西,就说明Git安装成功 2.因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识 3.接着,注册githu ...

  4. 一种解决新版本API完全兼容老版本API的方法

    原文:http://android.eoe.cn/topic/android_sdk 这节课程我们讨论如何创建一个实现类,即能对应新版本的API,又能够保持对老版本API的支持. * 寻找一个替代的解 ...

  5. Apache Hadoop 3.0新版本介绍及未来发展方向

    过去十年,Apache Hadoop从无到有,从理论概念演变到如今支撑起若干全球最大的生产集群.接下来的十年,Hadoop将继续壮大,并发展支撑新一轮的更大规模.高效和稳定的集群. 我们此次将向大家全 ...

  6. vue模拟后台数据,请求本地数据的配置(旧版本dev-server.js,新版本webpack.dev.conf.js)

    最近学习一个vue-cli的项目,需要与后台进行数据交互,这里使用本地json数据来模仿后台数据交互流程.然而发现build文件夹下没有dev-server.js文件了,因为新版本的vue-webpa ...

  7. Cloudera Hadoop什么是CDH及CDH版本介绍

    本文引用自:Cloudera Hadoop什么是CDH及CDH版本介绍http://www.aboutyun.com/thread-6788-1-1.html(出处: about云开发) 云技术新兴的 ...

  8. coreData旧版本增加字段,新版本是否可以继续使用旧版本内容的测试(MagicalRecord的使用)

    coreData使用第三方库MagicalRecord, 参考文章:http://blog.csdn.net/kuizhang1/article/details/21200367 coreData数据 ...

  9. hadoop的API对HDFS上的文件访问

    这篇文章主要介绍了使用hadoop的API对HDFS上的文件访问,其中包括上传文件到HDFS上.从HDFS上下载文件和删除HDFS上的文件,需要的朋友可以参考下hdfs文件操作操作示例,包括上传文件到 ...

随机推荐

  1. C++操作mysql方法总结(1)

    C++通过mysql的c api和通过mysql的Connector C++ 1.1.3操作mysql的两种方式 使用vs2013和64位的msql 5.6.16进行操作 项目中使用的数据库名为boo ...

  2. JS获取地址栏中的链接URL参数

    function getUrlParam(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&am ...

  3. [转帖] CentOS7 与 CentOS6的对比

    来源网站: http://blog.51cto.com/fengery/1901349 centos6.x_centos7.x差异改进明细 感谢原作者 centos官方帮助文档:https://wik ...

  4. PHP导出sql文件

    发现自己之前写的php导出sql数据为Excel文件在导出一些数据的时候出现了精度的问题,比如导出身份证号的时候会把后面变成0000.暂时先把这个问题留下,有空去看看到底是什么问题. 写了一个导出sq ...

  5. macOS how to install python3

    macOS how to install python3 macOS & Python 3.7.2 https://www.python.org/downloads/mac-osx/ http ...

  6. Cron表达式简单的介绍

    1.Cron是什么,用来做什么的 根据百度百科的解释:计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思.在Linux中,我们经常用到 cron 服务器来完成这项工作.cron服务器可以 ...

  7. python自动化之图像

    ''' RGBA值:指定颜色中的红.绿.蓝和alpha(透明度)的值 RGBA                                            名称 (255,255,255,2 ...

  8. java使用Cookie判断用户登录情况

    1.判断是否登录 public boolean isLogin() { Set<Cookie> cookies = this.browser.getCookies(); String JS ...

  9. java中new两个对象,在堆中开辟几个对象空间

    内存堆中有两个对象,两个对象里都有独立的变量.p1 p2指向的不是同一个内存空间. 也可以这样描述引用p1,p2指向两个不同的对象.

  10. Codeforces 438D (今日gg模拟第二题) | 线段树 考察时间复杂度的计算 -_-|||

    Codeforces 438D The Child and Sequence 给出一个序列,进行如下三种操作: 区间求和 区间每个数模x 单点修改 如果没有第二个操作的话,就是一棵简单的线段树.那么如 ...