/***
* MapReduce Module
* @author nele
*
*/
public class ModuleMapReduce extends Configured implements Tool { // map class
/**
*
* @author nele
* TODO
*/
public static class ModuleMapper extends
Mapper<LongWritable, Text, LongWritable, Text> { @Override
public void map(LongWritable key, Text value, Context context)
throws IOException, InterruptedException {
// TODO
} } // reduce class
/***
*
* @author nele
* TODO
*/
public static class ModuleReducer extends
Reducer<LongWritable, Text, LongWritable, Text> { @Override
//TODO
public void reduce(LongWritable key, Iterable<Text> values,
Context context) throws IOException, InterruptedException {
// TODO
} } // run method
public int run(String[] args) throws Exception {
Configuration conf = super.getConf(); // create job
Job job = Job.getInstance(conf, this.getClass().getSimpleName());
job.setJarByClass(this.getClass()); // set input path
Path inPath = new Path(args[0]);
FileInputFormat.addInputPath(job, inPath); // map
//TODO
job.setMapperClass(ModuleMapper.class);
job.setMapOutputKeyClass(LongWritable.class);
job.setMapOutputValueClass(Text.class); // conbile
job.setCombinerClass(ModuleReducer.class); // reduce
//TODO
job.setReducerClass(ModuleReducer.class);
job.setOutputKeyClass(LongWritable.class);
job.setOutputValueClass(Text.class); // output
Path outPath = new Path(args[1]);
FileOutputFormat.setOutputPath(job, outPath); // submit
return job.waitForCompletion(true) ? 0 : 1;
} public static void main(String[] args) throws Exception {
// args = new String[] {
// "hdfs://bigdata5:8020/user/nele/data/input/wc.txt",
// "hdfs://bigdata5:8020/user/nele/data/output/output3" }; Configuration conf = new Configuration(); int status = ToolRunner.run(conf, new ModuleMapReduce(), args); System.exit(status);
} }

源代码:http://git.oschina.net/nele/WordCount/blob/master/src/main/java/org/apache/hadoop/WordCount/ModuleMapReduce.java?dir=0&filepath=src%2Fmain%2Fjava%2Forg%2Fapache%2Fhadoop%2FWordCount%2FModuleMapReduce.java&oid=768c6be2ff31813e1adad92669ee83560e1728bc&sha=3ced0622511a75a24223c62cf937ca40c6449501

mapreduce 模板的更多相关文章

  1. 027_编写MapReduce的模板类Mapper、Reducer和Driver

    模板类编写好后写MapReduce程序,的模板类编写好以后只需要改参数就行了,代码如下: package org.dragon.hadoop.mr.module; import java.io.IOE ...

  2. 【甘道夫】官方网站MapReduce代码注释具体实例

    引言 1.本文不描写叙述MapReduce入门知识,这类知识网上非常多.请自行查阅 2.本文的实例代码来自官网 http://hadoop.apache.org/docs/current/hadoop ...

  3. Sqoop_ 简单介绍

    一.基本作用 概念: Sqoop被称为协作框架,是在Hadoop.2.X生态系统的辅助型框架,简单说,就是一个数据转换工具,类似的协作框架有文件收集库框架Flume,任务协调框架Oozie,大数据We ...

  4. CDH商业版本的搭建(hadoop+hive+sqoop)

    一:准备工作 1.步骤 1)hadoop ->下载解压 ->修改配置文件 ->hadoop-env JAVA_HOME ->core-site fs.defaultFS had ...

  5. 对于HIVE架构的理解

    1.Hive  能做什么,与 MapReduce 相比优势在哪里 关于hive这个工具,hive学习成本低,入手快,对于熟悉sql语法的人来说,操作简单,熟悉. 2.为什么说 Hive 是 Hadoo ...

  6. Hadoop 2.x从零基础到挑战百万年薪第一季

    鉴于目前大数据Hadoop 2.x被企业广泛使用,在实际的企业项目中需要更加深入的灵活运用,并且Hadoop 2.x是大数据平台处理 的框架的基石,尤其在海量数据的存储HDFS.分布式资源管理和任务调 ...

  7. 049 CDH商业版本的搭建(hadoop5.3.6 +hive+sqoop)

    为什么使用CDH版本? 这个主要考虑到兼容性. 下载地址:http://archive.cloudera.com/cdh5/cdh/5 最新的CDH公司的hadoop版本: 一:准备工作 1.步骤 1 ...

  8. 037 对于HIVE架构的理解

    0.发展 在hive公布源代码之后 公司又公布了presto,这个比较快,是基于内存的. impala:3s处理1PB数据. 1.Hive  能做什么,与 MapReduce 相比优势在哪里 关于hi ...

  9. hive--数据仓库

    1.1.1     hive是什么? Hive是基于 Hadoop 的一个数据仓库工具: 1.       hive本身不提供数据存储功能,使用HDFS做数据存储: 2.       hive也不分布 ...

随机推荐

  1. python3 报错集合

    1.格式 message = "GET / HTTP/1.1\r\n\r\n" s.sendall(message) TypeError: 'str' does not suppo ...

  2. 71.Android之长连接实现

    转载:http://blog.csdn.net/qq_23547831/article/details/51690047 本文中我们将讲解一下App的长连接实现.一般而言长连接已经是App的标配了,推 ...

  3. TopCoder SRM 596 DIV 1 250

    body { font-family: Monospaced; font-size: 12pt } pre { font-family: Monospaced; font-size: 12pt } P ...

  4. 51nod比赛

    http://www.cnblogs.com/wzj-is-a-juruo/p/5619901.html

  5. dotnet反编译工具大全

    反编译不是为了破解软件,而是在开发时更好的读懂程序干了什么,比如MVC的源码,如果使用1和4的VS插件能更好的进行断点跟踪. 常用,效率最高: 1.[.NET Reflector]首选,能比较好的反编 ...

  6. AngularJs angular.Module模块接口配置

    angular.Module Angular模块配置接口. 方法: provider(name,providerType); name:服务名称. providerType:创建一个服务的实例的构造函 ...

  7. Docker入门教程(八)Docker Remote API

    Docker入门教程(八)Docker Remote API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第八篇,重点介绍了Docker Remote ...

  8. uC/OS-II内存(OS_mem)块

    /*************************************************************************************************** ...

  9. 利用jquery实现网站中对应栏目下面内容切换效果。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. Eclipse搭建Python开发环境+Python中文处理

    1.基本需求 1.Eclipse 集成开发环境下载 http://115.com/file/c2vz7io5    JDK6下载 http://115.com/file/c2vz7idq     2. ...