mapreduce新旧api对比
对比:hadoop版本1.x 新版,hadoop版本0.x 旧版
1.新api引用包一般是mapreduce ,旧版api引用的包一般是mapred
2.新api使用Job,旧版api使用JobConf
3.新api类的包名使用mapreduce,旧版api使用mapred
4.新api使用job.waitForCompletion(true)提交作业,旧版api使用JobClient.runJob(job);
5.新api:extends Mapper,旧版api:extends MapRedcueBase implements Mapper
6.新api:使用上下文Context ctx ctx.write(),旧版api:使用OutputCollector<>collector Reporter collector.collect();
-------------------------
新版:
public class kpi extends Configured implements Tool
{
static class MyMapper extends Mapper<LongWritable, Text, Text, kpiwritable>
{
protected void map(LongWritable k1, Text v1, Context context)
context.write(k2, v2);
}
static class MyReducer extends Reducer<Text, kpiwritable, Text, kpiwritable>
{
protected void reduce(Text k2, java.lang.Iterable<kpiwritable> v2s, Context ctx)
context.write(k2, v2);
}
public int run(String[] arg0)
{Job job=new Job(conf,"kpi");
job.waitForCompletion(true);
return 0;
}
public static void main(String[] args) throws Exception
{
ToolRunner.run(new kpi(), args);
}
}
---------------------------------------------------------
旧版:
public class old_api
{
static class MyMapper extends MapReduceBase implements Mapper<LongWritable, Text, Text, LongWritable>{
public void map(LongWritable k1, Text v1,
OutputCollector<Text, LongWritable> collector, Reporter reporter){
collector.collect(new Text(word), new LongWritable(1));
}
}
static class MyReducer extends MapReduceBase implements Reducer<Text, LongWritable, Text, LongWritable>{
public void reduce(Text k2, Iterator<LongWritable> v2s,
OutputCollector<Text, LongWritable> collector, Reporter reporter){
collector.collect(k2, new LongWritable(times));
}
}
public static void main(String[] args) {
final JobConf job = new JobConf(conf , old_api.class);
JobClient.runJob(job);
}
}
mapreduce新旧api对比的更多相关文章
- MapReduce简述、工作流程及新旧API对照
什么是MapReduce? 你想数出一摞牌中有多少张黑桃.直观方式是一张一张检查而且数出有多少张是黑桃. MapReduce方法则是: 1. 给在座的全部玩家中分配这摞牌. 2. 让每一个玩家数自己手 ...
- Hadoop日记Day15---MapReduce新旧api的比较
我使用hadoop的是hadoop1.1.2,而很多公司也在使用hadoop0.2x版本,因此市面上的hadoop资料版本不一,为了扩充自己的知识面,MapReduce的新旧api进行了比较研究. h ...
- spring加载配置新旧方式对比
老方式 1.首先要配置配置文件,如beans.xml,内容如下: <?xml version="1.0" encoding="UTF-8"?> &l ...
- Hadoop2.2编程:新旧API的区别
Hadoop最新版本的MapReduce Release 0.20.0的API包括了一个全新的Mapreduce JAVA API,有时候也称为上下文对象. 新的API类型上不兼容以前的API,所以, ...
- MultipleOutputs新旧api
package MRNB_V4; import java.io.IOException; import java.util.Iterator; import org.apache.hadoop.con ...
- SpringBoot2.X自定义拦截器实战及新旧配置对比(核心知识)
简介: 讲解拦截器使用,Spingboot2.x新版本配置拦截拦截器和旧版本SpringBoot配置拦截器区别讲解 1.@Configuration 继承WebMvcConfigurationAdap ...
- express新旧语法对比
备个份, 原文: http://stackoverflow.com/questions/25550819/error-most-middleware-like-bodyparser-is-no-lon ...
- 天气预报API(五):城市代码--“新编码”和“旧编码” 对比
参考一些博客.文章 来查找 测试 接口,后来发现两套城市编码标准,有点想法,故拿来对比分析. 注:新旧编码是个人主观叫法,只是为了方便称呼,可能有不当之处,请留言更正. 暂且称 中国天气网等网站使用的 ...
- React 新 Context API 在前端状态管理的实践
本文转载至:今日头条技术博客 众所周知,React的单向数据流模式导致状态只能一级一级的由父组件传递到子组件,在大中型应用中较为繁琐不好管理,通常我们需要使用Redux来帮助我们进行管理,然而随着Re ...
随机推荐
- 修改(同步)linux时间
新申请下来的机器的时间现在我们所在的时区不一致,需要同步成东八区 查看当前的时间: date -R; date +%z 修改时区: cp /usr/share/zoneinfo/Asia/Shangh ...
- ORACLE概要文件
oracle系统为了合理分配和使用系统的资源提出了概要文件的概念.所谓概要文件,就是一份描述如何使用系统的资源(主要是CPU资源)的配置文件.将概要文件赋予某个数据库用户,在用户连接并访问数据库服务器 ...
- BotVS开发基础—2.7 指标MA
代码 #计算一小时 MA5均线 # 时间 2017-06-29 00:00:00 -2017-06-30 00:00:00 1小时 实盘级Tick # 平台 OCKCoin BTC def main( ...
- ABP+AdminLTE+Bootstrap Table权限管理系统第二节--在ABP的基础做数据库脚本处理
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 第一点,上一篇文章中我们讲到codefirst中一些问题包括如图,codefirst在每次执行命令的时候会生成新的 ...
- SoapUI 之 JDBC请求
之前有试过Jmeter的JDBC请求,挺方便的,今天下午闲来没事,看见soapUI里面也有一个JDBC请求,便也来试试. 首先添加一个JDBC请求,然后直接把Jmeter的一些链接参数复制过去,一直报 ...
- 关于回文串的DP问题
问题1:插入/删除字符使得原字符串变成一个回文串且代价最小 poj 3280 Cheapest Palindrome 题意:给出一个由m中字母组成的长度为n的串,给出m种字母添加和删除花费的代价,求让 ...
- 【译】StackExchange.Redis中文使用文档
StackExchange.Redis中文使用文档 Intro 最近想深入学习一些 Redis 相关的东西.于是看了看官方的项目StackExchange.Redis,发现里面有一份文档,于是打算翻译 ...
- ios 初体验<UILabel控件>
创建控件: UILabel *label = [[UILabel alloc]init]; //设置控件大小 label.frame = CGRectMake(50,100,300,40);//分别为 ...
- STM32—无需中断来实现使用DMA接收串口数据
本节目标: 通过DMA,无需中断,接收不定时长的串口数据 描述:当在串口多数据传输下,CPU会产生多次中断来接收串口数据,这样会大大地降低CPU效率,同时又需要CPU去做其它更重要的事情,我们应该如何 ...
- Mac上好用的视频播放器有哪些?
首页发现话题 提问 登录加入知乎 Mac 上好用的视频播放器有哪些? 关注问题写回答 OS X 应用 多媒体播放器(软件) Mac 上好用的视频播放器有哪些? 关注者 2680 被浏览 981770 ...