MapReduce(十八): MR任务开发说明

本文详细介绍了在Hadoop中开发MapReduce任务的过程,包括将代码打包成jar包,设置JVM参数,管理第三方库和资源文件,以及日志配置。通过libjars、files和archives参数来管理依赖,并利用DistributedCache获取本地已下载的文件。任务的日志会自动输出到特定目录,便于跟踪和调试。
摘要由CSDN通过智能技术生成

开发一个MR任务涉及代码编写,打包,运行,调试。指定第三方lib库,读取程序配置文件和资源文件,运行日志配置,能够读取指定源数据,并且输出结果到指定存储媒体。以下根据上述程序编写的基本条件逐一列出在hadoop中如何开发。

1.   把自己的代码打包成jar包,jar包中可包含lib目录和classes目录,lib目录中可放第三方包,classes目录中可放额外配置文件或资源文件等。通过hadoop命令提交运行任务时,会自动把这个jar包路径按照参数名”mapred.jar”设置到环境参数中,在提交到JobTracker上运行时,会自动把本地路径的jar包上传到hdfs目录上并且重新设置”mapred.jar”参数为hdfs上的路径。TaskTracker接收到任务运行时会根据”mapred.jar”配置的路径,从hdfs下载到本地并解压缩,解压缩后把jar包根目录,jar包下子目录classes和lib中的所有文件加入到启动任务的classpath中。

2.   可通过参数”mapred.child.java.opts设置启动任务的JVM参数,比如远程调试端口等。

3.   可在命令行中通过参数”libjars”,”files”,”archives”设置程序依赖的第三方lib库(由于有些依赖lib包可能比较大,通过这种方式可以把jar缓存在TaskTracker上,这样以后提交TaskTracker就无需再下载,通过把lib库打包在jar包中,则需要每次都下载),程序需要的资源文件,以及其它压缩包等。范例如下:

代码提交到JobTracker时会自动把命令行中指定的文件上传到HDFS目录上,并且设置环境参数"mapred.cache.files"为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值