mapreduce 模板

/***
 * 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

时间: 2024-11-29 11:12:22

mapreduce 模板的相关文章

Hadoop Mapreduce模板

Mapper 1 package com.scb.jason.mapper; 2 3 import org.apache.hadoop.io.IntWritable; 4 import org.apache.hadoop.io.LongWritable; 5 import org.apache.hadoop.io.Text; 6 import org.apache.hadoop.mapreduce.Mapper; 7 8 import java.io.IOException; 9 import

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

引言 1.本文不描写叙述MapReduce入门知识,这类知识网上非常多.请自行查阅 2.本文的实例代码来自官网 http://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html 最后的WordCount v2.0,该代码相比源代码中的org.apache.hadoop.examples.WordCount要复杂和完整,更适合作为MapR

【甘道夫】官网MapReduce实例代码详细批注

引言 1.本文不描述MapReduce入门知识,这类知识网上很多,请自行查阅 2.本文的实例代码来自官网 http://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html 最后的WordCount v2.0,该代码相比源码中的org.apache.hadoop.examples.WordCount要复杂和完整,更适合作为MapReduc

mapreduce 统计PV案例

理解 网站基本指标 几个工具 编写mapreduce 模板PV程序 自定义计数器,对Mapreduce 进行DEBUG 调试 一 .网站基本指标 1.1 PV PV(page view),即页面浏览量,或点击量;通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标. 即:一个访问者在24小时(0点到24点)内到底看了你网站几个页面.强调:同一个人浏览你网站同一个页面,不重复计算pv量,点100次也算1次.pv就是一个访问者打开了你的几个页面. 1.2 UV uv(unique visito

Hive入门笔记-----架构以及应用介绍

Hive这个框架在Hadoop的生态体系结构中占有及其重要的地位,在实际的业务当中用的也非常多,可以说Hadoop之所以这么流行在很大程度上是因为Hive的存在.那么Hive究竟是什么,为什么在Hadoop家族中占有这么重要的地位,本篇文章将围绕Hive的体系结构(架构).Hive的操作.Hive与Hbase的区别等对Hive进行全方面的阐述. 在此之前,先给大家介绍一个业务场景,让大家感受一下为什么Hive如此的受欢迎: 业务描述:统计业务表consumer.txt中北京的客户有多少位?下面是

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

鉴于目前大数据Hadoop 2.x被企业广泛使用,在实际的企业项目中需要更加深入的灵活运用,并且Hadoop 2.x是大数据平台处理 的框架的基石,尤其在海量数据的存储HDFS.分布式资源管理和任务调度YARN及分布式计算框架MapReduce.然而当前众多书籍和 视频教程资料中,没有一套完整的.深入浅出的.实战性操作强的一套资料,一此种情况下,结合鄙人多年实际项目经验,以项目中 使用为主线,编纂筹划此套Hadoop 2.x从零基础到项目实战的课程,带领大家从零基础开始上手,到如何理解HDFS.

Hadoop实战读书笔记(9)

如何将一个反向引用索引的程序的Reducer输出的类型改为IntWritable public static class Reduce extends MapReduceBase implements Reducer<Text, Text, Text, IntWritable> { public void reduce(Text key, Iterator<Text> values, OutputCollector<Text, IntWritable> output,

MapReduce 编程模板编写【分析网站基本指标UV】程序

1.网站基本指标的几个概念 PV: page view 浏览量 页面的浏览次数,用户每打开一次页面就记录一次. UV:unique visitor 独立访客数 一天内访问某站点的人数(以cookie为例) 但是如果用户把浏览器cookie给删了之后再次访问会影响记录. VV: visit view 访客的访问次数 记录所有访客一天内访问了多少次网站,访客完成访问直到浏览器关闭算一次. IP:独立ip数 指一天内使用不同ip地址的用户访问网站的数量. 2.编写MapReduce编程模板 Drive

hadoop模板分析

如下是一个模板.解释在注释里.代码是从网上找的 1 package hadoop_homework; 6 import java.util.ArrayList; 7 import java.io.IOException; 8 import java.util.Iterator; 9 import java.util.StringTokenizer; 10 import org.apache.hadoop.conf.Configuration; 11 import org.apache.hadoo