因此,当直接使用hadoop时,很容易处理外部罐子。您有-libjars选项可以为您执行此操作。问题是你如何使用EMR做到这一点。必须有一种简单的方法。我认为CLI的-cachefile选项会这样做,但我无法以某种方式让它工作。任何人的想法?
感谢您的帮助。
答案 0 :(得分:7)
我对外部jar依赖项的最大好处是将它们(通过引导操作)复制到整个集群中的/home/hadoop/lib
。该路径位于每个主机的类路径中。无论代码在哪里访问外部jar(工具,作业或任务),这种技术似乎都是可行的。
答案 1 :(得分:3)
一种选择是让您的作业流程中的第一步在任何需要的地方设置JAR。或者,如果它们是依赖项,您可以使用应用程序JAR(可能在S3中)将它们打包。
答案 2 :(得分:0)
不再使用新版EMR / home / hadoop / lib的FYI。应该使用/ usr / lib / hadoop-mapreduce。