赞
踩
job.setOutputKeyClass(Text.class);
FileInputFormat.setInputPaths(job, new Path(args[0]));
FileOutputFormat.setOutputPath(job, new Path(args[1]));
System.out.println(job.waitForCompletion(true) ? “运行成功” : “运行失败”);
}
public static void main(String[] args) {
try {
WordCountMain wordCountMain = new WordCountMain(args);
} catch (Exception e) {
e.printStackTrace();
}
}
}
map类:
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;
public class MyMapper extends Mapper<LongWritable, Text, Text, LongWritable> {
@Override
protected void map(LongWritable key, Text value, Context context) {
String line = value.toString();
String[] words = line.split(" ");
for (String word : words) {
// 将单词作为key,将次数1作为value。
try {
context.write(new Text(word), new LongWritable(1));
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
reducer类:
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;
public class MyReducer extends Reducer<Text, LongWritable, Text, LongWritable> {
@Override
protected void reduce(Text key, Iterable values, Context context) {
int count = 0;
for (LongWritable value : values) {
count += value.get();
}
try {
context.write(key, new LongWritable(count));
} catch (Exception e) {
e.printStackTrace();
}
}
}
3,在IntelliJ IDEA中直接导出可运行的Java的jar包(具体方法见文章 https://zhangphil.blog.csdn.net/article/details/99434450),注意,在Hadoop2.8.3,Windows 10,64位环境下,编译出的jar包里面有两个文件夹:META-INF和license,如果直接运行将导致失败。需要用解压缩工具打开这个jar包,删掉META-INF和license这两个文件夹,如图:
如果不删除这两个文件夹,在jar包运行时候,会抛出错误导致运行失败。
4,通过start-all命令,启动Hadoop,如附录1中那样。只不过这次使用的jar包不是Hadoop示例代码中的jar包,而是我自己编写的Java代码:
hadoop jar E:/code/IdeaProjects/bigdata/out/artifacts/bigdata_jar/bigdata_jar.jar WordCountMain /test_dir/myfile /test_dir/result
bigdata_jar.jar包就是上面Java代码在第三步IntelliJ IDEA中生成的jar包。
运行后输出的结果和附1相同。
附:
1、命令行方式使用Hadoop自带的word count单词统计jar包统计字符单词数
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。