如何在emr中使用外部jar?

cwxwcias  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(361)

我的emr作业依赖于一些外部jar,这些jar应该在作业执行时出现在类路径中。所以我把这些jar上传到一个s3 bucket中,并参考如何在aws emr上使用-libjars?我在哈多普做过复制手术。但是引导操作抱怨/usr/bin/hadoop不存在。当使用/home/hadoop/bin/hadoop时,它甚至会失败。我想知道其他人是如何下载jar到ba的每个主机上的。
bash脚本

sudo /usr/bin/hadoop fs -copyToLocal 'se://my-bucket/emr-input/dependency-jars/*' /usr/lib/hadoop

ba时出错

sudo: /usr/bin/hadoop: command not found
rdrgkggo

rdrgkggo1#

我从这个链接中选择了第二个选项,它对我很有用
https://blog.cloudera.com/blog/2011/01/how-to-include-third-party-libraries-in-your-map-reduce-job/
它为cloudera和amazon的aws工作。
在项目文件夹中创建一个lib文件夹,并在该lib文件夹中添加所有外部jar文件。现在为您的项目创建一个jar文件。
现在,当您在集群上运行jar文件时,外部依赖关系将得到处理。

相关问题