MapReduce编写wordcount程序代码实现
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,MapReduce经典案例代码(wordcount)以经典的wordcount为例,通过自定义的mapper和reducer来实现单词计数package com.fwmagic.mapreduce;i
千家信息网最后更新 2025年12月01日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安全错误
数据库的锁怎样保障安全
学软件开发需要来的书籍
抢购软件开发不同浏览器
华为手机云服务器是什么
云服务器基本防护
我国第一部网络安全部门规章
南京爱乐网络技术有限公司
电脑怎么看服务器的端口
朔州网络技术培训
诸城软件开发
软件开发基础知识不扎实
2021黑客文化与网络安全期末考试
数据库实例 用户
数据库有哪些重要定义
七日杀正版服务器网站
福州网龙网络技术有限公司招聘
我的世界微软服务器地址
虚拟商品发送数据库
网络安全管理面临最大威胁
战地3服务器白屏怎么办
网络安全文明上网知识
黄浦图腾网络服务器机柜价格
数据库禁止添加重复数据语句
中小学生家庭教育之网络安全
唱歌视频软件开发
长春电子工程师软件开发
河南科技大学第一附属医院互联网
数据库数据控制功能有哪些
成都java手机软件开发工具包
自学考试数据库原理试题
什么叫网络安全闭环