package com.example.demo.wordcount;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.io.compress.BZip2Codec;
import org.apache.hadoop.io.compress.CompressionCodec;
import org.apache.hadoop.io.compress.DefaultCodec;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat;
import java.io.IOException;
/*
创建Job实例并做一些配置
常犯错误:
1.导包错误 :
例 :
如果看见ClassCastExecption那么就需要查看包
不能将javax.xml.soap.Text转成化org.apache.hadoop.io.Text
2.设置参数时错误:设置两次OutputKey
job.setOutputKeyClass(Text.class);
job.setOutputKeyClass(LongWritable.class);
3.在map和reduce方法中调用父类中的方法
super.map();
4.报NativeIO
①代码写错了 --- 确定代码有没有问题(用龙哥的代码跑看会不会有此问题)
②创建包org.apache.hadoop.io.nativeio
将资料中NativeIO.java粘贴到此包下
③可以尝试更换windows上hadoop环境的版本(hadoop3.0 hadoop3.1)
④windows系统登录的用户为中文或者有空格导致
创建新的windows登录用户
*/
public class WCDriver {
public static void main(String[] args) throws Exception {
//1.创建Job实例
Configuration conf = new Configuration();//可以设置参数
//设置mapper端开启压缩
// conf.set("mapreduce.map.output.compress","true");
// conf.set("mapreduce.map.output.compress.codec",
// "org.apache.hadoop.io.compress.DefaultCodec");
// conf.setClass("mapreduce.map.output.compress.codec",
// DefaultCodec.class, CompressionCodec.class);
Job job = Job.getInstance(conf);
//一个ReduceTask处理2小时
//二个ReduceTask处理1小时
//job.setNumReduceTasks(200);//
//使用SequenceFileOutputFormat输出文件(默认是TextOutputFormat)
//job.setOutputFormatClass(SequenceFileOutputFormat.class);
//2.给Job赋值
//2.1关联本程序的jar---如果是本地运行不用设置。如果是在集群上运行(打jar包放在集群上)一定要设置
job.setJarByClass(WCDriver.class);
//2.2设置Mapper和Reducer类
job.setMapperClass(WCMapper.class);
job.setReducerClass(WCReducer.class);
//2.3设置Mapper输出的Key,value的类型
job.setMapOutputKeyClass(Text.class);
job.setMapOutputValueClass(LongWritable.class);
//2.4设置最终输出的key,value的类型(在这是Reducer输出的key,value的类型)
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(LongWritable.class);
//2.5设置输入和输出路径
FileInputFormat.setInputPaths(job,new Path("D:\\io\\input"));
//注意:输出的目录必须不存在
FileOutputFormat.setOutputPath(job,new Path("D:\\io\\output444"));
// 设置reduce端输出压缩开启
FileOutputFormat.setCompressOutput(job, true);
// 设置压缩的方式
// FileOutputFormat.setOutputCompressorClass(job, BZip2Codec.class);
// FileOutputFormat.setOutputCompressorClass(job, GzipCodec.class);
// FileOutputFormat.setOutputCompressorClass(job, DefaultCodec.class);
//3.提交Job
/*
boolean waitForCompletion(boolean verbose)
verbose : 是否打印执行的进度
返回值 :如果是true表示job执行成功
*/
boolean b = job.waitForCompletion(true);
System.out.println("=======" + b);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Yarn资源调用demo案例
共16个文件
xml:8个
java:5个
ds_store:1个
需积分: 5 0 下载量 192 浏览量
2023-09-05
23:33:18
上传
评论
收藏 15KB ZIP 举报
温馨提示
Yarn资源调用demo案例
资源推荐
资源详情
资源评论
收起资源包目录
demo.zip (16个子文件)
demo
.DS_Store 6KB
pom.xml 2KB
src
test
java
com
example
demo
main
resources
application.properties 1B
java
com
example
demo
wordcount
WCMapper.java 2KB
WCReducer.java 2KB
WCDriver2.java 2KB
WCDriver3.java 3KB
WCDriver.java 4KB
.idea
jarRepositories.xml 861B
codeStyles
codeStyleConfig.xml 149B
Project.xml 415B
workspace.xml 4KB
misc.xml 528B
compiler.xml 677B
.gitignore 176B
encodings.xml 186B
共 16 条
- 1
资源评论
ha_lydms
- 粉丝: 11w+
- 资源: 72
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功