MapReduce编写wordcount程序代码实现
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,MapReduce经典案例代码(wordcount)以经典的wordcount为例,通过自定义的mapper和reducer来实现单词计数package com.fwmagic.mapreduce;i
千家信息网最后更新 2025年01月23日MapReduce编写wordcount程序代码实现
MapReduce经典案例代码(wordcount)
以经典的wordcount为例,通过自定义的mapper和reducer来实现单词计数
package com.fwmagic.mapreduce;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Job;import org.apache.hadoop.mapreduce.Mapper;import org.apache.hadoop.mapreduce.Reducer;import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;import java.io.IOException;/** * MapReduce单词统计 */public class WordCountDemo { /** * 自定义Mapper继承:org.apache.hadoop.mapreduce.Mapper,实现map方法 */ public static class WordCountMapper extends Mapper { @Override protected void map(LongWritable key, Text value, Mapper.Context context) throws IOException, InterruptedException { String[] words = value.toString().split(" "); for (String word : words) { context.write(new Text(word), new IntWritable(1)); } } } /** * 自定义Reducer继承:org.apache.hadoop.mapreduce.Reducer,实现reduce方法 */ public static class WordCountReducer extends Reducer { @Override protected void reduce(Text key, Iterable values, Reducer.Context context) throws IOException, InterruptedException { int count = 0; for (IntWritable writable : values) { count += writable.get(); } context.write(key, new IntWritable(count)); } } /** * job启动类,设置参数并集群中提交job * @param args * @throws Exception */ public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); Job job = Job.getInstance(conf); job.setJarByClass(WordCountDemo.class); job.setMapperClass(WordCountMapper.class); job.setReducerClass(WordCountReducer.class); job.setMapOutputKeyClass(Text.class); job.setMapOutputValueClass(IntWritable.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); FileInputFormat.setInputPaths(job, new Path("/wordcount/input")); FileOutputFormat.setOutputPath(job, new Path("/wordcount/output")); boolean b = job.waitForCompletion(true); System.exit(b ? 0 : 1); }}
集群中/wordcount/input目录下数据内容
打包项目,执行job
hadoop jar fwmagic-wordcount.jar
执行输出结果
单词
方法
经典
集群
代码
内容
参数
数据
案例
目录
经典案例
结果
项目
统计
输出
程序
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
h3c服务器有管理地址吗
数据库双机切换
长沙奥博软件开发
发生网络安全事件 该怎么做
狗易的服务器视频教程
网络安全和信息化工作汇总结
卧龙服务器
我国网络安全面临问题
数字化高校网络安全设计
数据库中的增删改查怎么操作
计算机网络技术对英语
明日之后莫洛城堡服务器
企业网络安全教育视频
sql数据库设置外键教程
网络安全类手抄报内容
厦门电脑软件开发公司
苏州中端塔式服务器
云服务器为什么要创建虚拟机
河北正规软件开发项目信息
陕西博德网络技术有限公司网页
网络技术被应用于印刷文件的传输
数据库原理及应用属于科技类吗
语音服务器链接不成功
临沂知否网络技术有限公司地址
交通银行武汉软件开发中心
软件开发劳务价格
软件开发过程时需确认过程吗
文件服务器买哪款合适
兰溪住宿软件开发
lol英雄详细数据库