我正在尝试将存储在hdfs上的一堆依赖项添加到分布式缓存中。我一直在关注这篇文章的建议:http://www.datasalt.com/2011/05/handling-dependencies-and-configuration-in-java-hadoop-projects-efficiently/。我的问题是:是否可以将包含依赖项的文件夹添加到类路径?
DistributedCache.addFileToClassPath(new Path("/tmp/lib/"), job.getConfiguration());
或者我是否需要单独添加每个依赖项?
for (Path dependency : dependencies) {
DistributedCache.addFileToClassPath(dependency, job.getConfiguration());
}
我如何检查依赖项是否实际上已添加到所有从属节点上的类路径中?
感谢。
答案 0 :(得分:0)
你需要迭代罐子并按照你的建议一次添加一个罐子。或者,您可以将罐子捆绑到一个zip文件中,然后使用DistributedCache.addArchiveToClassPath(Path, Configuration)
方法。
要检查它们是否已添加到类路径中,请尝试在mapper / reducer的setup方法中检查系统属性java.class.path
。