大数据全系列 教程
1869个小节阅读:467.3k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
xxxxxxxxxx
package com.itbaizhan;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
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;
import java.io.IOException;
public class FOFDriver1 {
public static void main(String[] args) throws Exception {
//1.判断参数是否合法
if(args==null || args.length!=2){
System.out.println("Usage:yarn jar com.itbaizhan.FOFDriver1 <inputPath> <outputPath>");
System.exit(1);
}
//2.创建配置文件对象,加载默认的配置
Configuration configuration = new Configuration(true);
//3.设置本地运行
configuration.set("mapreduce.framework.name","local");
//4.创建job对象,并设置job作业的名称
/*Job job = Job.getInstance(configuration);
//指定job作业的名称
job.setJobName("好友推荐-MR1");*/
Job job = Job.getInstance(configuration,"好友推荐-MR1");
job.setJarByClass(FOFDriver1.class);
//5.设置自定义Mapper类以及输出的key和value的类型
job.setMapperClass(FOFMapper1.class);
job.setMapOutputKeyClass(Text.class);//hadoop:cat
job.setMapOutputValueClass(IntWritable.class);//1 或 0
//6.设置自定义Reducer类和它输出的key和value类型
job.setReducerClass(FOFRedcuer1.class);
//cat:hadoop 2
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
//7.设置输入路径
FileInputFormat.addInputPath(job,new Path(args[0]));
//8.设置输出路径
Path outputPath = new Path(args[1]);
FileSystem fileSystem = outputPath.getFileSystem(configuration);
if(fileSystem.exists(outputPath)){//存在则删除,否则会出现异常
fileSystem.delete(outputPath,true);
}
FileOutputFormat.setOutputPath(job,outputPath);
//9.提交作业
job.waitForCompletion(true);
}
}