找出三个最大值demo
来源:互联网 发布:红外图像处理算法 编辑:程序博客网 时间:2024/05/29 02:50
利用hadoop查询数据中三个最大值
package mr;import java.net.URI;import java.util.Arrays;import java.util.Iterator;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.NullWritable;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.Reducer.Context;import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;public class MyTopKClass { static class MyTopKMapper extends Mapper<LongWritable, Text, Text, NullWritable>{ int[] a=new int[3]; public void map(LongWritable k1, Text v1, Context context) throws java.io.IOException, java.lang.InterruptedException { String lines= v1.toString().trim(); if(lines.length()==0){return;} Arrays.sort(a); int input=Integer.parseInt(lines); if(a[0]<input){ a[0]=input; } System.out.println("map......"); } protected void cleanup(Context context) throws java.io.IOException, java.lang.InterruptedException{ for(int x:a) context.write(new Text(x+""), NullWritable.get()); } } private static String INPUT_PATH="hdfs://master:9000/input/topk.dat"; private static String OUTPUT_PATH="hdfs://master:9000/output/c/"; public static void main(String[] args) throws Exception { Configuration conf=new Configuration(); FileSystem fs=FileSystem.get(new URI(OUTPUT_PATH),conf); if(fs.exists(new Path(OUTPUT_PATH))) fs.delete(new Path(OUTPUT_PATH)); Job job=new Job(conf,"myjob"); job.setJarByClass(MyTopKClass.class); job.setMapperClass(MyTopKMapper.class); job.setMapOutputKeyClass(Text.class); job.setMapOutputValueClass(NullWritable.class); FileInputFormat.addInputPath(job,new Path(INPUT_PATH)); FileOutputFormat.setOutputPath(job, new Path(OUTPUT_PATH)); job.waitForCompletion(true); }}
阅读全文
0 0
- 找出三个最大值demo
- 找出三个数中的最大值
- 第七周项目三 找出三个整数中的最大值
- 定义一个方法找出输入的三个整数的最大值
- 编写一个从三个数中找出最大值的函数。(C语言)
- 找出数组中的最大值
- 数组应用:找出最大值
- 找出数组最大值
- 三个数求最大值
- 取三个数字最大值
- 三个数之间最大值
- 三个数的最大值
- 三个值得最大值
- Verilog 找出任意六个数中的最大、次最大和第三最大值以及三个数对应的序号
- 同时找出最小值和最大值
- 同时找出最大值和最小值
- 汇编语言,找出最大值与最小值
- 找出数组元素的最大值
- Mybatis的输入输出映射和全局配置文件
- Number Sequence
- Java面试题全集(中)
- 如何通过牛顿方法解决Logistic回归问题 By 机器之心2017年8月09日 16:30 本文介绍了牛顿方法(Newton's Method),以及如何用它来解决 logistic 回归。log
- POJ-1475:Pushing Boxes(嵌套bfs或bfs+A*算法)
- 找出三个最大值demo
- window应用程序靠消息驱动、Marshal类、StructureToByte、ByteToStructure
- MathGL在Windows下的编译
- 二叉树的一些性质
- Java面试题全集(下)
- 安卓开发集成SMS短信验证码模块,mob平台
- Block内存管理
- Tomcat载入js文件时中文乱码,后台传值都正常
- ZOJ3432 Find the Lost Sock(异或运算)