mr

mapreduce中counter的使用

痴心易碎 提交于 2020-01-07 07:51:21
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> MapReduce Counter为提供我们一个窗口:观察MapReduce job运行期的各种细节数据。 MapReduce自带了许多默认Counter。 Counter有"组group"的概念,用于表示逻辑上相同范围的所有数值。MapReduce job提供的默认Counter分为三个组 Map-Reduce Frameword Map input records,Map skipped records,Map input bytes,Map output records,Map output bytes,Combine input records,Combine output records,Reduce input records,Reduce input groups,Reduce output records,Reduce skipped groups,Reduce skipped records,Spilled records File Systems FileSystem bytes read,FileSystem bytes written Job Counters Launched map tasks,Launched reduce tasks,Failed map tasks,Failed

Hadoop MapReduce程序使用第三方jar的解决方案

放肆的年华 提交于 2019-12-06 03:52:57
开发MR程序时,经常需要使用第三方jar包,如何让MR程序正确找到第三方jar包就是一个重要的问题。 一般常用的解决方法有如下几个 把第三方包放至集群所有节点上 把第三方jar包预先放置到集群中,可以减小MR程序包的大小,比较常用。一般是放到hadoop各个server的JRE lib目录下,或者把包路径添加至CLASSPATH环境变量,或者MR运行时使用 -libjars参数把jar包包含进来。由于没有一一进行测试,这些方法不敢确认都是可以的,或者不同条件下才可以。但是每次添加jar都要在所有集群节点上添加,太麻烦。 使用Maven打包,把所有包打到一起 当前我们使用的是Maven打包,把所有第三方包和MR程序打包在一起。由于项目包含了所有MR,引用的包也很多,导致打出来的包有50M,太大了,其实每个MR需要的只是其中一部分包。 轻量打包,只打当前MR需要的jar包 后来发现hadoop 可能自动引用lib文件夹下面的jar包,这样,针对单个MR程序,可以创建一个lib文件夹,把需要的jar包放至其中,并在打包时把lib目录打进mr包中即可。idea中不需要在项目中创建,只在打包配置中配置即可,如下: 来源: oschina 链接: https://my.oschina.net/u/2277929/blog/1796925

如何在eclipse调试mapreduce程序

a 夏天 提交于 2019-11-27 04:25:38
如何在eclipse或myeclipse调试mapreduce程序,这个可能是初学mr程序者碰到的一个难题 在hadoop1.2.1后,在下载的源代码中找不到hadoop-eclipse-plugin相关的jar或源代码。 其实hadoop目前使用maven进行源代码的管理与调试,可以参考文献: http://blog.cloudera.com/blog/2012/08/developing-cdh-applications-with-maven-and-eclipse/ A sample POM for setting up a basic Maven project for CDH application development https://gist.github.com/jnatkins/3517129 注意:CDH是hadoop的封装版本,很稳定,并且更新也很快。 如果需要在eclipse下编写MR程序并进行调试,需要以下前提条件: 1:安装maven,建议安装maven3.0.4或上以版本 2:使用eclipse较新的版本,如Kepler Service Release 1 3:在eclipse上安装m2eclipse插件进行maven项目的管理 4:创建maven项目,并将pom.xml替换为 https://gist.github.com/jnatkins