千家信息网

MapReduce如何实现驱动程序

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章给大家分享的是有关MapReduce如何实现驱动程序的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、设置job的基础属性Job job = new Job();j
千家信息网最后更新 2025年12月02日MapReduce如何实现驱动程序

这篇文章给大家分享的是有关MapReduce如何实现驱动程序的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

1、设置job的基础属性

Job job = new Job();
job.setJarByClass(***.class); //要执行的类
job.setJobName("job name"); //作业的名字
job.setNumReduce(2); //reduce的数目

2、设置Map与Reudce的类

job.setMappgerClass(*.class); //map类
job.setReduceClass(*.class); //reduce类

3、设置Job的输入输出格式

void setInputFormatClass(Class cls)
void setOutputFormatClass(Class cls)

前者默认是TextInputFormat,后者是FileOutputFormat。

4、设置Job的输入输出路径

当输入输出是文件时,需要指定路径。

InputFormat:
static void addInputPath(JobConf conf, Path path)
FileOutputFormat:
static void setOutputPath(Job job, Path outputDir)

当输入格式是其它类型时,则需要指定相应的属性,如Gora的DataSource。

5、设置map与reduce的输出键值类型
主要有以下4个类

void setOutputKeyClass(Class theClass)
void setOutputValueClass(Class theClass)
void setMapOutputKeyClass(Class theClass)
void setMapOutputValueClass(Class theClass)

(1)前面2个方法设置整个job的输出,即reduce的输出。默认情况下,map的输出类型与reduce一致,若二者不一致,则需要通过后面2个方法来指定map的输出类型。
(2)关于输入类型的说明:reduce的输入类型由output的输出类型决定。map的输入类型由输入格式决定,如输入格式是FileInputFormat,则输入KV类型为LongWriterable与Text。

6、运行程序

job.waitForCompletion()

我们还可以设置combine类和partition类

job.setCombinerClass(Combine.class);
job.setPartitionerClass(MyPartition.class);

附带一张图:

完整例子

package org.jediael.hadoopdemo.maxtemperature;

import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

public class MaxTemperature {
public static void main(String[] args) throws Exception {
if (args.length != 2) {
System.err
.println("Usage: MaxTemperature ");
System.exit(-1);
}
//1、设置job的基础属性
Job job = new Job();
job.setJarByClass(MaxTemperature.class);
job.setJobName("Max temperature");

//2、设置Map与Reudce的类
job.setMapperClass(MaxTemperatureMapper.class);
job.setReducerClass(MaxTemperatureReducer.class);

//4、设置map与reduce的输出键值类型
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);

//5、设置输入输出路径
FileInputFormat.addInputPath(job, new Path(args[0]));
FileOutputFormat.setOutputPath(job, new Path(args[1]));

//6、运行程序
System.exit(job.waitForCompletion(true) ? 0 : 1);
}
}

感谢各位的阅读!关于"MapReduce如何实现驱动程序"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

输入 输出 类型 程序 格式 属性 路径 驱动程序 驱动 一致 内容 基础 方法 更多 篇文章 运行 不错 实用 例子 名字 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全计算题 数据库不可重复读和幻读 网易有哪些好玩的我的世界服务器 广东工程翼网络技术有限公司 网络技术路由交换 苏州互联网软件开发介绍 李乐言网络安全 如何认识到当今网络安全的情况 怎么访问服务器的d盘 上海正规软件开发服务保障 php数据库搭建实例 海康服务器显示摄像头预览异常 俄罗斯网络安全法律不足 大学生的软件开发技巧 开源数据库实施工程师 电影购票系统的数据库 万方智搜的合作数据库 阿里集团网络安全部门 魔兽世界多少个服务器 考博 高级数据库技术 北京广厦网络技术股... app网络安全管理制度模板 长垣卫华集团软件开发 搭建自己的服务器梯子 网络安全监测装置防护检查方法 外交部最新关于网络安全的发言 科技改变生活互联网大会 服务器系统崩了怎么处理 10分钟服务器安全设置 联科网络安全准入助手能监控吗
0