MapReduce之求一组数据中最大值问题
来源:互联网 发布:美团程序员工资待遇 编辑:程序博客网 时间:2024/06/01 08:17
一、题目要求:
求出一组数据中的最大值。
二、代码:
import java.io.IOException;import java.util.Iterator;import java.util.StringTokenizer;import java.io.*;import java.util.*;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.Partitioner;import org.apache.hadoop.mapreduce.Mapper.Context;import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;import org.apache.hadoop.mapreduce.Reducer;import org.apache.hadoop.util.GenericOptionsParser;public class max { private static String SPACE = "\t"; public static class Map extends Mapper<LongWritable, Text, Text, Text> { // 实现map函数 private Text word1=new Text("score"); //private Text word2=new Text("distribution"); public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { String line = value.toString(); StringTokenizer tokenizerArticle = new StringTokenizer(line); //以空格分隔字符 while (tokenizerArticle.hasMoreElements()) { String strScore = tokenizerArticle.nextToken(); context.write(word1,new Text(strScore)); } } } public static class Reduce extends Reducer<Text, Text, Text, IntWritable> { public void reduce(Text key, Iterable<Text> values, Context context) throws IOException, InterruptedException { int max = 0 ; //int i=0; int score = 0 ; for (Text val : values) { String valTokens = val.toString(); score = Integer.parseInt(valTokens); if (score > max) { //name1 = valTokens[0]; max = score; } } //context.write(new Text("The max score is"), new IntWritable(max)); context.write(new Text("The max is"),new IntWritable(max)); } } public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); String[] otherArgs = new GenericOptionsParser(conf, args) .getRemainingArgs(); if (otherArgs.length != 2) { // 判断路径参数是否为2个 System.err.println("Usage: Data Deduplication <in> <out>"); System.exit(2); } // set maprduce job name Job job = new Job(conf, "max"); job.setJarByClass(max.class); // 设置Map、Combine和Reduce处理类 job.setMapperClass(Map.class); job.setReducerClass(Reduce.class); job.setMapOutputKeyClass(Text.class); job.setMapOutputValueClass(Text.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); //job.setNumReduceTasks(6); FileInputFormat.addInputPath(job, new Path(otherArgs[0])); FileOutputFormat.setOutputPath(job, new Path(otherArgs[1])); System.exit(job.waitForCompletion(true) ? 0 : 1); }}
三、输入:
输入:
四、输出:
阅读全文
0 0
- MapReduce之求一组数据中最大值问题
- 求一组数据中的最大值及最小值
- 求一组数中,最大值方法
- 数组中求一组数的最大值
- MapReduce求海量数据中的最大值
- MapReduce求海量数据中的最大值
- MapReduce求海量数据中的最大值
- Mapreduce求TopK最大值
- mapReduce求最大值
- MapReduce求最大值
- 求一组随机数的最大值和最小值
- 求一组随机数的最大值和最小值
- 四.求一组数据中最大的K个数
- 使用JAVA找出一组数据的最大值
- python求一组数据和
- MapReduce-过程介绍(求温度最大值)
- 关于多组数据连续输入,求最大值最小值问题
- 数组中求最大值
- 【完美解决】WebView网页中使用到支付宝调不起来,提示ERR_UNKNOWN_URL_SCHEME
- MySQL数据库InnoDB存储引擎Log漫游(3)
- hadoop要点
- plsql developer正确连接数据库步骤教学
- trading system and methods
- MapReduce之求一组数据中最大值问题
- pyhotn3入门基础-15 装饰器与偏函数
- 视Geopainting GPSMapEdit.v2.1.78.8.16 1CD(可视化的GPS地图编辑器)
- 也是一种感慨
- 53、表示数值的字符串
- eclipse的从头配置
- Linux编程基础——GDB(设置断点)
- markdown编辑器简明资料
- 图结构解决农夫过河问题(二附源代码)