`
elan1986
  • 浏览: 164520 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hadoop 查找最大数

阅读更多
package com.lch.find;

import java.io.IOException;
import java.util.Iterator;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.FloatWritable;
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 org.apache.hadoop.util.GenericOptionsParser;

public class SearchMaxValue {

	public static class SearchMaxValueMapper extends Mapper<LongWritable, Text, IntWritable, FloatWritable>{
		private final static IntWritable one = new IntWritable(1);

		@Override
		protected void map(LongWritable key, Text value, Context context)
				throws IOException, InterruptedException {
			String str = value.toString().trim();
			float flo = Float.parseFloat(str);
			context.write(one, new FloatWritable(flo));
		}
	}
	
	public static class SearchMaxValueReducer extends Reducer<IntWritable, FloatWritable, Text, FloatWritable>{
		@SuppressWarnings("rawtypes")
		public void reduce(IntWritable key, Iterable<FloatWritable> values, Context context) throws IOException, InterruptedException{
			Iterator it = values.iterator();
			float maxFloat = 0, tmp;
			if(it.hasNext()){
				maxFloat = ((FloatWritable) it.next()).get();
			}else{
				context.write(new Text("Max Value : "), null);
				return;
			}
			while(it.hasNext()){
				tmp = ((FloatWritable) it.next()).get();
				if(tmp > maxFloat){
					maxFloat = tmp;
				}
			}
			context.write(new Text("Max value is :"), new FloatWritable(maxFloat));
		}
	}
	
	public static void main(String[] args) throws IOException, InterruptedException, ClassNotFoundException {
		Configuration conf = new Configuration();
		String[] paths = { "hdfs://192.168.1.136:9000/tmp/test.txt", "hdfs://192.168.1.136:9000/tmp/outputs" };
		String[] otherArgs = new GenericOptionsParser(conf, paths).getRemainingArgs();
		
		Job job = new Job(conf, "SearchValue");
		job.setJarByClass(SearchMaxValue.class);
		job.setMapperClass(SearchMaxValueMapper.class);
		job.setReducerClass(SearchMaxValueReducer.class);
		
		job.setMapOutputKeyClass(IntWritable.class);
		job.setMapOutputValueClass(FloatWritable.class);
		
		job.setOutputKeyClass(Text.class);
		job.setOutputValueClass(FloatWritable.class);
		
		FileInputFormat.addInputPath(job, new Path(otherArgs[0]));
		FileOutputFormat.setOutputPath(job, new Path(otherArgs[1]));
		
		System.exit(job.waitForCompletion(true) ? 0 : 1);
	}
}

代码比较简单 不多解释
附上数据信息
12.5
85.0
236
239
23
2
0
1
9
236
232.0
分享到:
评论

相关推荐

    hadoop炼数成金

    hadoop_v2_01a.mp4、hadoop_v2_01b.mp4、hadoop_v2_01c.mp4、hadoop_v2_01d.mp4、hadoop_v2_01e.mp4、hadoop_v2_02a.mp4、hadoop_v2_02b.mp4视频大小:4.98G

    java操作hadoop之mapreduce计算整数的最大值和最小值实战源码

    java操作hadoop之mapreduce计算整数的最大值和最小值实战源码,附带全部所需jar包,欢迎下载一起学习。

    炼数成金hadoop完整课件(8)

    炼数成金hadoop完整课 含全8课 另加视频播放故障提醒

    hadoop炼数成金大数据培训视频

    hadoop 炼数成金 大数据 视频 完整版 配套ppt学习好伴侣

    hadoop2.7.3 hadoop.dll

    在windows环境下开发hadoop时,需要配置HADOOP_HOME环境变量,变量值D:\hadoop-common-2.7.3-bin-master,并在Path追加%HADOOP_HOME%\bin,有可能出现如下错误: org.apache.hadoop.io.nativeio.NativeIO$Windows....

    《Hadoop大数据开发实战》教学教案—01初识Hadoop.pdf

    《Hadoop大数据开发实战》教学教案—01初识Hadoop.pdf《Hadoop大数据开发实战》教学教案—01初识Hadoop.pdf《Hadoop大数据开发实战》教学教案—01初识Hadoop.pdf《Hadoop大数据开发实战》教学教案—01初识Hadoop.pdf...

    Hadoop下载 hadoop-2.9.2.tar.gz

    Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo 的工程师 Doug Cutting 和 Mike Cafarella Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo...

    hadoop实现用户数和用户拨打电话的次数统计.zip

    对于基站数据,统计用户数,统计用户拨打电话的次数

    hadoop_tutorial hadoop入门经典

    hadoop_tutorial hadoop入门经典 Hadoop 是一个能够对大量数据进行分布式处理的软件框架。Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。...

    Hadoop下载 hadoop-3.3.3.tar.gz

    Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不...

    Hadoop权威指南 中文版

    本书从hadoop的缘起开始,由浅入深,结合理论和实践,全方位地介绍hado叩这一高性能处理海量数据集的理想工具。全书共14章,3个附录,涉及的主题包括:haddoop简介:mapreduce简介:hadoop分布式文件系统;hadoop的i...

    hadoop的dll文件 hadoop.zip

    hadoop的dll文件 hadoop.zip

    hadoop2.7.3 Winutils.exe hadoop.dll

    hadoop2.7.3 Winutils.exe hadoop.dll

    hadoop炼数成金完整版教学ppt

    hadoop炼数成金完整版教学ppt,内容包含14个pdf教学ppt文件,助于Hadoop初学者学习入门。 hadoop炼数成金完整版教学ppt,内容包含14个pdf教学ppt文件,助于Hadoop初学者学习入门。

    Hadoop集群pdf文档

    Hadoop 集群配置详解 Hadoop_Hadoop集群(第1期)_CentOS安装配置 Hadoop_Hadoop集群(第2期)_机器信息分布表 Hadoop_Hadoop集群(第4期)_SecureCRT使用 Hadoop_Hadoop集群(第5期)_Hadoop安装配置 Hadoop_Hadoop...

    hadoop3.3.3-winutils

    (1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。 (2)DataNode(dn):在本地文件系统存储文件块数据,以及...

    hadoop最新版本3.1.1全量jar包

    hadoop-annotations-3.1.1.jar hadoop-common-3.1.1.jar hadoop-mapreduce-client-core-3.1.1.jar hadoop-yarn-api-3.1.1.jar hadoop-auth-3.1.1.jar hadoop-hdfs-3.1.1.jar hadoop-mapreduce-client-hs-3.1.1.jar ...

    Hadoop大数据资料集锦

    Hadoop大数据资料集锦Hadoop大数据资料集锦Hadoop大数据资料集锦Hadoop大数据资料集锦

    hadoop配置资源 ,hadoop-3.0.0,hadoop.dll,winutils

    调用保存文件的算子,需要配置Hadoop依赖 将文件夹中的 hadoop-3.0.0 解压到电脑任意位置 在Python代码中使用os模块配置:os.environ[‘HADOOP_HOME’] = ‘HADOOP解压文件夹路径’ winutils.exe,并放入Hadoop解压...

    hadoop-3.1.3安装包

    Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合...

Global site tag (gtag.js) - Google Analytics