NLineInputFormat的示例分析
发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,小编给大家分享一下NLineInputFormat的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!package com.test;import java.io.IOExce
千家信息网最后更新 2025年01月28日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安全错误
数据库的锁怎样保障安全
淮安服务器有哪些
零件数据库什么语言
网络安全员知识竞赛题库
方舟服务器时间怎么看
戴尔r210服务器噪音测试
呼吁网络安全的作文
e2603服务器
相城区正规服务器代理厂家
软件开发人员怎么开支合理
软件开发企业税收方案
DB2数据库删了怎么恢复
江阴手动软件开发产品介绍
软件开发合作合同模板
进口网络技术服务欢迎咨询
沈阳金豆网络技术有限公司靠谱吗
网络技术应用题技巧
服务器 硬件管理工具
赤峰宏伟软件开发公司
数据库分析技术员
甘肃天水家庭教育与网络安全
岳阳软件开发哪里好
微信云开发云数据库_id
无法连接到服务器微信
力码打标机数据库怎么建
怎么读取目标网站的数据库
插入数据库耗时解决方案
从损坏的数据库中提取数据库
成都项目软件开发费用
腾讯服务器怎么恢复数据
吕梁市网络安全活动