基本信息
文件名称:Hadoop大数据开发基础与案例实战(微课版)课件 5.6WordCount代码实现 -提交任务.pptx
文件大小:310.63 KB
总页数:9 页
更新时间:2025-03-16
总字数:约1.8千字
文档摘要

Hadoop大数据项目开发——单词统计功能代码-提交任务实现

目录content02Reducer阶段代码编写01Mapper阶段代码编写03Drive阶段代码编写

提交任务代码importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.io.IntWritable;importorg.apache.hadoop.io.Text;importorg.apache.hadoop.mapreduce.Job;importorg.apache.hadoop.mapreduce.lib.input.FileInputFormat;importorg.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

提交任务代码publicclassWordCountJob{ publicstaticvoidmain(String[]args)throwsException{ Jobjob=Job.getInstance(); job.setJarByClass(JobSubmitter.class);//1、封装参数,jar包所在位置 //2、封装参数,job调用的Mapper和Reducer实现类 job.setMapperClass(WordCountMapper.class); job.setReducerClass(WordCountReducer.class); //3、封装参数,job调用的Mapper和Reducer实现类中key和value数据类型 job.setMapOutputKeyClass(Text.class); job.setMapOutputValueClass(IntWritable.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class);

提交任务代码 //4、封装参数,处理的数据和最终结果数据路径 FileInputFormat.setInputPaths(job,newPath(G:\\wordcount\\input));//G:\\wordcount\\input为文件所存放的路径 FileOutputFormat.setOutputPath(job,newPath(G:\\wordcount\\output));//G:\\wordcount\\output为文件中单词出现的次数。 //5、可以设置启动的reduce数量 job.setNumReduceTasks(2); //6、提交job给YARN booleanres=job.waitForCompletion(true); System.exit(res?0:-1); }}

最终结果

课外拓展在上面代码中,实现了本地测试功能,处理的数据来源本地,但是实际生产环境中,数据位于HDFS上,那么该如何解决?本地直接提交给集群运行生成Jar包提交给YARN运行

课外拓展System.setProperty(HADOOP_USER_NAME,hadoop);Configurationconf=newConfiguration();conf.set(fs.defaultFS,hdfs://hdp-01:9000);Jobjob=Job.getInstance(conf);FileInputFormat.setInputPaths(job,newPath(/wordcount/input));FileOutputFormat.setOutputPath(job,newPath(/wordcount/output));本地直接提交给集群,添加代码如下:

课外拓展该方式中,只需要将处理的数据和最终结果数据路径修改为HDFS上的位置即可,然后打成Jar包提交给集群,详细介绍在任务五中。打成Jar包直接提交给集群运行: