Hadoop项目jar包管理

来源:互联网 发布:网络生鲜农产品ppt 编辑:程序博客网 时间:2024/06/10 07:01

在开发Hadoop项目时,Jar包的管理也值得注意。下面仅从RunJar和DistributedCache方面来探讨适合的方案。

 

使用Hadoop jar ... 方式运行程序是会调用RunJar类来解压Jar包,作用并不大,而且还多了一次本地解压的过程。如果采用Hadoop ClassName ... 方式运行程序,这个最终通过Hadoop的mapred.jar的设置项来保证分布运行,一次将本地Jar包copy至Hdfs,一次再将Hadf上的jar包copy至本地并解压。其实这个过程也是可以避免的。

 

在<<基于Hadoop实现通用的并行任务处理>>中提到项目依赖包可通过Hadoop的DistributedCache功能来保证分布运行。同样,我们也可以利用它将入口类所在的Jar包加入到DistributedCache中,同时避免设置mapred.jar选项(调用Job类的setJarByClass方法做到)。这样就少了两次copy的过程。