1、构建新的作业

Configuration conf=getConf();

Job job=Job.getInstance(conf);

job.setJarByClass(SortYearAndTemp2.class);

2、设置输入输出目录

Path inpath=new Path(conf.get("inpath"));

Path outpath=new Path(conf.get("outpath"));

FileInputFormat.addInputPath(job, inpath);

FileOutputFormat.setOutputPath(job, outpath);

3、设置Mapper Reducer函数

job.setMapperClass(SortYearAndTemp2.SortYearAndTemp2Mapper.class);

public static class SortYearAndTemp2Mapper extends Mapper

job.setReducerClass(SortYearAndTemp2.SortYearAndTemp2Reducer.class);

public static class SortYearAndTemp2Reducer extends Reducer

4、设置输出格式

job.setMapOutputKeyClass(Weather.class);

job.setMapOutputValueClass(Text.class);

job.setOutputValueClass(Text.class);

job.setOutputKeyClass(NullWritable.class);

5、指定分区方式

job.setPartitionerClass(WeatherPartitioner.class); //参数为Partitioner的子类

创建Partitioner的子类:public static class WeatherPartitioner extends Partitioner

重写getPartition()方法,返回int //指定分区方式

6、指定分组方式

job.setGroupingComparatorClass(WeatherGroup.class); //参数为WritableComparator的子类

创建WritableComparator的子类:public static class WeatherGroup extends WritableComparator

构造无参构造器WeatherGroup(){super(Weather, true);} //重写父类带有参数的构造器

重写compare()方法 //指定分组方式

7、提交执行作业,等待作业完成之后退出虚拟机

return job.waitForCompletion(true)?0:1;

8、创建传递给key的类

public static class Weather implements WritableComparable

重写write()方法 //序列化

重写readFields()方法 //反序列化

重写compareTo()方法 //规定key参数类的排序规则

设置set() get()方法

构造带有全部参数和无参的构造器

java mapreduce教程_Java搭建MapReduce完成二次排序步骤相关推荐

  1. java nio教程_Java NIO教程

    java nio教程 1.简介 Java NIO是Java 1.4引入的一个库. 自从Java NIO推出以来,它提供了另一种方法来处理I / O和网络事务. 它被认为是Java网络和Java IO库 ...

  2. java设计模式教程_Java设计模式教程

    java设计模式教程 课程大纲 架构和计算机科学中的设计模式是记录特定专业领域中设计问题的解决方案的正式方法. 这个想法是由建筑师Christopher Alexander在建筑领域引入的,并已被修改 ...

  3. java反射教程_Java反射教程

    java反射教程 在本教程中,我主要编写一些示例来介绍Java反射可以做什么. 希望它可以给您这个概念的概述. 请留下您的评论以寻求建议. 什么是反射? 简而言之,反射是程序在运行时检查和修改对象的结 ...

  4. java io教程_Java IO教程

    java io教程 Java provides several classes in java.io package to work with text, stream data, and file ...

  5. java web 教程_Java Web服务教程

    java web 教程 Welcome to the Java Web Services Tutorial. Here we will learn about web services, useful ...

  6. java jxl 教程_java jxl快速入门教程

    jxl.jar 包简介 下载地址http://www.andykhan.com/jexcelapi/ 作者的网站上对它的特征有如下描述: ● 支持Excel 95-2000的所有版本 ● 生成Exce ...

  7. java joinpoint教程_Java的教程

    Java编程语言 Java编程语言中,左侧的导航栏(Java编程语言),可以快速定位文章的内容.这篇文章主要汇总以下: Java编程语言学习:Java的概述,Java的基础,Java面向对象的概念,J ...

  8. java环境教程_java环境配置的详细教程(图文)

    本篇文章给大家带来的内容是关于java环境配置的详细教程(图文),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. JAVA环境变量的配置:Path,JAVA_HOME,CLASSPAT ...

  9. java map 教程_Java Map接口

    Java Map接口 在本教程中,我们将学习Java Map接口及其方法. Java collections框架的Map接口提供了Map数据结构的功能. 它实现了Collection接口. map的工 ...

最新文章

  1. Spring Boot 2.0 常见问题总结(一)
  2. 24张GIF图,让你秒懂非标自动化机构的原理
  3. 归档 OmniFocus 中已完成的任务到 印象笔记 Evernote
  4. Redis专题-缓存穿透、缓存雪崩、缓存击穿
  5. C#_汉字与GBK,Unicode,UTF-8编码之间的转换
  6. C语言字符5,C语言编程(练习5:字符串与字符串函数)-Go语言中文社区
  7. 十六、Struts2文件上传与下载
  8. 导航栏-滚动渐变 - 封装版
  9. 狂野飙车9手游服务器维护,狂野飙车9_狂野飙车9公益服_变态版狂野飙车9_狂野飙车9官网_9917游戏...
  10. iPhone SE 3钢化膜已上架海外市场:4.7英寸屏 Home键得到保留
  11. Java设计模式--策略模式
  12. python无法启动此程序因为_python报错:无法启动此程序,因为计算机中丢失
  13. 计算机无法安装VC2015,win7系统vc++2015一个或多个问题导致了安装失败的处理步骤...
  14. 黑马程序员—黑马三期已毕业同学发来的一封感谢信!
  15. Spark的基本工作流程
  16. lol计算机丢失msvcp140,玩英雄联盟提示电脑缺少msvcp140.dll怎么办
  17. 7个经典小故事给在职场困倦的你打打气
  18. linux文件夹建立软连接,软连接 - Linux软连接创建及一个“坑”
  19. 事业单位招聘计算机岗位考试题,计算机考试题库:计算机考试练习题(136)
  20. 2020双十一AutoJs自动领喵币再次来袭【天猫、淘宝、支付宝】

热门文章

  1. 2021计算机应用基础统考,2021年度计算机应用基础统考练习题及答案.doc
  2. 全字库说文解字字体_【180期】可商用字体大全,无版权纠纷!
  3. vue PC端国际化一站式解决方案
  4. linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(执行安装_07)
  5. Spring基础环境搭建
  6. Mysql和Oracle 数据库操作工具类
  7. ESLint is disabled since its execution has not been approved or denied yet
  8. php中队列控制的方法,学习猿地-php 队列的实现方法
  9. java vector 输出_5.7(java学习笔记)Vector、Enumeration
  10. qt通过代码创建滚动区域,添加滚动区域到窗口