NLineInputFormat的示例分析
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,小编给大家分享一下NLineInputFormat的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!package com.test;import java.io.IOExce
千家信息网最后更新 2025年12月01日NLineInputFormat的示例分析
小编给大家分享一下NLineInputFormat的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
package com.test;import java.io.IOException;import java.util.Iterator;import java.util.StringTokenizer;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.conf.Configured;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.input.NLineInputFormat;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;import org.apache.hadoop.util.Tool;import org.apache.hadoop.util.ToolRunner;/** * TextInputFormat处理的数据来自于一个InputSplit。InputSplit根据块大小划分。 * 由于每条记录有长有短,所以,每个map任务处理的记录数都不一样 * NLineInputFormat决定每个map处理记录数是相同的 */public class WordCountNL extends Configured implements Tool { public static class Map extends Mapper { public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { String line = value.toString(); StringTokenizer st = new StringTokenizer(line); while(st.hasMoreElements()) { context.write(new Text(st.nextElement().toString()), new IntWritable(1)); } } } public static class Combiner extends Reducer { public void reduce(Text key, Iterable values, Context context) throws IOException, InterruptedException { int count = 0; Iterator it = values.iterator(); while(it.hasNext()) { count = count + it.next().get(); } context.write(key, new IntWritable(count)); } } public static class Reduce extends Reducer { public void reduce(Text key, Iterable values, Context context) throws IOException, InterruptedException { int count = 0; Iterator it = values.iterator(); while(it.hasNext()) { count = count + it.next().get(); } context.write(key, new IntWritable(count)); } } public int run(String[] args) throws IOException, InterruptedException, ClassNotFoundException { Configuration conf = this.getConf(); //设置每个map可以处理多少行数据 //conf.set("mapreduce.input.lineinputformat.linespermap", "1"); conf.set(NLineInputFormat.LINES_PER_MAP, "1"); Job job = new Job(conf); job.setJobName(WordCountNL.class.getSimpleName()); job.setJarByClass(WordCountNL.class); FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); job.setMapperClass(Map.class); job.setCombinerClass(Combiner.class); job.setReducerClass(Reduce.class); job.setInputFormatClass(NLineInputFormat.class); job.setOutputFormatClass(TextOutputFormat.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); job.waitForCompletion(true); return job.isSuccessful()?0:1; } public static void main(String[] args) throws Exception { int exit = ToolRunner.run(new WordCount(), args); System.exit(exit); } } 看完了这篇文章,相信你对"NLineInputFormat的示例分析"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
处理
示例
分析
数据
篇文章
相同
有长有短
任务
大小
完了
更多
知识
行业
资讯
资讯频道
频道
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全数据分析技术
滴滴软件开发价
网络安全提案案
工业软件开发35岁
服务器和网络哪个安全
收费站网络安全体系
启明评卷无法连接服务器
互联网 网络安全论文
头歌数据库答案mysql
软件开发 估算 工具
传媒以网络技术为标志
国家网络安全宣传脚本
软件开发年终总结2016
网络安全意识测评电话号码
许昌管理软件开发公司
服务器cpu散热片怎么选
服务器主机费电吗
服务器管理怎么角色只有2个
软件开发公司的存货
网络技术开发价目表
滁州机架式服务器哪家好
天刀手游服务器数据说明
是网络安全的重中之重包括领域
Biostar 2 数据库
软件开发结算计费
刀锋视频联动服务器
jst数据库
端游pubg怎么换服务器
网络安全木马病毒论文
1 x网络安全运维