`

Hadoop 自定义计数器

 
阅读更多

public static class mapper extends Mapper<Text, BytesWritable, Text , Text>{

		private Counter c ;
		@Override
		protected void setup(Context context) throws IOException,
				InterruptedException {
			c = context.getCounter("FILE", "COUNT");
		}

		@Override
		protected void map(Text key, BytesWritable value, Context context)
				throws IOException, InterruptedException {
			c.increment(1);
			context.write(key, new Text(value.getBytes()));
		}

		@Override
		protected void cleanup(Context context)
				throws IOException, InterruptedException {
			
		}
		
	}
	
	public static class reducer extends Reducer<Text, Text, Text, Text>{
		
		@Override
		protected void reduce(Text arg0, Iterable<Text> arg1,
				Context context)
				throws IOException, InterruptedException {
			Iterator<Text> itr = arg1.iterator();
			while(itr.hasNext()){
				itr.next();
			}
			
			context.write(arg0, new Text("heihei"));
		}
		
	}
	
	public static void main(String[] args) throws IOException, InterruptedException, ClassNotFoundException{
		
		Configuration conf = new Configuration();
		Job job = new Job(conf);
		job.setJarByClass(testCounter.class);
		
		FileInputFormat.addInputPath(job, new Path(args[0]));
		FileOutputFormat.setOutputPath(job, new Path(args[1]));
		
		job.setMapperClass(mapper.class);
		job.setReducerClass(reducer.class);
		
		job.setInputFormatClass(WholeFileInputFormat.class);
		job.setOutputFormatClass(TextOutputFormat.class);
		
		job.setMapOutputKeyClass(Text.class);
		job.setMapOutputValueClass(Text.class);
		
		job.setOutputKeyClass(Text.class);
		job.setOutputValueClass(Text.class);
		
		job.waitForCompletion(true);
		
		String num = job.getCounters().findCounter("Map-Reduce Framework", "Map input records").getName();
		System.out.println(num);
	}

 获取计数器只能在job完成之后,也就是job.waitForCompletion(true);之后,放在之前的话回报一个非法安全的错误,但是在reducer函数里面,则不错报错,也不能获取计数器值,可能设计人员没有扑捉reducer里面的异常吧...

计数器有自定义计数器和内置计数器

静态计数器和动态计数器,前者用枚举,更安全一些,后者直接用字符串,有时为了显示方便,会创建一个properties属性文件。

 

 

 

分享到:
评论

相关推荐

    Hadoop 自定义 Partitioner 实现

    Hadoop 自定义 Partitioner 实现

    hadoop实现计数器

    hadoop实现计数器,利用mapreduce进行排序,同时可以实时跟踪整个过程以及每个节点的参与情况

    Hadoop 自定义 Partitioner JAR

    Hadoop 自定义 Partitioner 实现

    hadoop自定义类型编程

    hadoop自定义类型编程

    Hadoop 自定义 Partitioner 源代码

    Hadoop 自定义 Partitioner 源代码

    Hadoop计数器的应用以及数据清洗

    今天小编就为大家分享一篇关于Hadoop计数器的应用以及数据清洗,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    hadoop2.7.3 自定义实现机架感知(Java版本)

    博客Hadoop机架感知配置自主实现的jar包 http://blog.csdn.net/lemonZhaoTao/article/details/70991813

    javamap源码-HADOOP-COUNTER-SOURCE-CODE:在HadoopMapReduce编码中使用自定义计数器的Java程序

    java map源码

    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 MapReduce高级特性

    本文针对MapReduce中的包括计数器、排序和数据集连接进行讲解。计数器包括系统计数器和自定义计数器,排序包括部分排序和文件排序,还包括对键内数据的排序。

    新版Hadoop视频教程 段海涛老师Hadoop八天完全攻克Hadoop视频教程 Hadoop开发

    04-hadoop的自定义排序实现.avi 05-mr程序中自定义分组的实现.avi 06-shuffle机制.avi 07-mr程序的组件全貌.avi 08-textinputformat对切片规划的源码分析.avi 09-倒排索引的mr实现.avi 10-多个job在同一个...

    脚本搭建hadoop集群

    可以自定义安装jdk和hadoop(格式为*tar.gz) 注意事项 1、安装完jdk和hadoop请手动source /etc/profile 刷新环境变量 2测试脚本环境为centOS6,其他操作系统会有些配置不一样,请手动调整 资源描述: 安装Linux教程...

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

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

    hadoop详细视频教程

    45_hadoop2.x_温度排序,分区,分组,自定义封装类02 46_hadoop2.x_温度排序,分区,分组,自定义封装类03 47_hadoop2.x_温度排序,分区,分组,自定义封装类04 48_hadoop2.x_温度排序,分区,分组,自定义封装类05 ...

    Hadoop下载 hadoop-2.9.2.tar.gz

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

    Hadoop下载 hadoop-3.3.3.tar.gz

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

    Hadoop权威指南 中文版

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

    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权威指南 第二版(中文版)

     用户自定义函数  过滤UDF  计算UDF  加载UDF  数据处理操作  加载和存储数据  过滤数据  分组与连接数据  对数据进行排序  组合和分割数据  Pig实战  并行处理  参数代换 第12章 Hive  1.1 安装Hive ...

Global site tag (gtag.js) - Google Analytics