[hadoop]hadoop api 新版本与旧版本的差别
突然现在对以后的职业方向有些迷茫,不知道去干什么,现在有一些语言基础,相对而言好的一些有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 新版本与旧版本的差别的更多相关文章
- C#winform程序安装时自动卸载新版本覆盖旧版本
vs2005为winform程序做的安装包.在以有程序旧版本的机子上用新版本的安装包安装软件时提示 “以经安装该产品的另一个版本.无法继续安装此版本........” 在安装部署项目中设“Remov ...
- 2.每人自己建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别。答题人:张立鹏
第1步:创建SSH Key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步.如果没有,打开Shell ...
- 第二章——建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别-----答题者:徐潇瑞
1.首先下载安装git,很简单所以就不详细说了,当弹出一个类似的命令窗口的东西,就说明Git安装成功 2.因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识 3.接着,注册githu ...
- 一种解决新版本API完全兼容老版本API的方法
原文:http://android.eoe.cn/topic/android_sdk 这节课程我们讨论如何创建一个实现类,即能对应新版本的API,又能够保持对老版本API的支持. * 寻找一个替代的解 ...
- Apache Hadoop 3.0新版本介绍及未来发展方向
过去十年,Apache Hadoop从无到有,从理论概念演变到如今支撑起若干全球最大的生产集群.接下来的十年,Hadoop将继续壮大,并发展支撑新一轮的更大规模.高效和稳定的集群. 我们此次将向大家全 ...
- vue模拟后台数据,请求本地数据的配置(旧版本dev-server.js,新版本webpack.dev.conf.js)
最近学习一个vue-cli的项目,需要与后台进行数据交互,这里使用本地json数据来模仿后台数据交互流程.然而发现build文件夹下没有dev-server.js文件了,因为新版本的vue-webpa ...
- Cloudera Hadoop什么是CDH及CDH版本介绍
本文引用自:Cloudera Hadoop什么是CDH及CDH版本介绍http://www.aboutyun.com/thread-6788-1-1.html(出处: about云开发) 云技术新兴的 ...
- coreData旧版本增加字段,新版本是否可以继续使用旧版本内容的测试(MagicalRecord的使用)
coreData使用第三方库MagicalRecord, 参考文章:http://blog.csdn.net/kuizhang1/article/details/21200367 coreData数据 ...
- hadoop的API对HDFS上的文件访问
这篇文章主要介绍了使用hadoop的API对HDFS上的文件访问,其中包括上传文件到HDFS上.从HDFS上下载文件和删除HDFS上的文件,需要的朋友可以参考下hdfs文件操作操作示例,包括上传文件到 ...
随机推荐
- Hibernate(十)
1.批处理 //批处理 :批量处理 //批量插入数据 @Test public void addData(){ Random random=new Random(); for(int i=1;i< ...
- 个人作业-Week 3
案例分析:必应词典 IOS客户端 调研&评测 一.功能性bug bug 1: 症状:在使用拍照翻译这一功能时,只能对图片中的句子逐行进行翻译.即一个中间有换行的句子会被当成两个句子进行翻译. ...
- [转帖]Kerberos简介
1. Kerberos简介 https://www.cnblogs.com/wukenaihe/p/3732141.html 1.1. 功能 一个安全认证协议 用tickets验证 避免本地保存密码 ...
- [转帖]windows 2008 Server R2 /Win7启用TLS 1.2
来自新浪博客的 一个文章 自己很早之前曾经看过 iis的加密工具 但是当时没有认识到TLS1.2协议的问题 这里 晚上学习了一下. http://blog.sina.com.cn/s/blog_16 ...
- Java多线程(五) —— 线程并发库之锁机制
参考文献: http://www.blogjava.net/xylz/archive/2010/07/08/325587.html 一.Lock与ReentrantLock 前面的章节主要谈谈原子操作 ...
- 第215天:Angular---指令
指令(Directive) AngularJS 有一套完整的.可扩展的.用来帮助 Web 应用开发的指令集 在 DOM 编译期间,和 HTML 关联着的指令会被检测到,并且被执行 在 AngularJ ...
- JVM学习笔记(二):垃圾收集
程序计数器. 虚拟机栈. 本地方法栈3个区域随线程而生,随线程而灭:栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作. 每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此这 ...
- QPainter 基础绘图
调用QPainter的接口来绘制一些基本的图形 头文件: #include <QMainWindow> #include <QPainter> namespace Ui { c ...
- SSL身份认证原理 - 目标: 搞清楚数字证书和数字签名的关系
1 概述 1.1 产生背景 基于万维网的电子商务和网上银行等新兴应用,极大地方便了人们的日常生活,受到人们的青睐.由于这些应用都需要在网络上进行在线交易,它们对网络通信的安全性提出了更高的要求.传 ...
- Laravel4快速安装方法,解决Laravel4安装速度慢
Laravel4原始安装方法 Laravel4 是构建在 Composer 之上的, 之前的安装方法是如下: composer create-project laravel/laravel you ...