Python 包未导入 AWS EMR

Python packages not importing in AWS EMR

我正在尝试通过 Livy 向 EMR 集群提交作业。我的 Python 脚本(用于提交作业)需要导入一些包。我已经在 EMR 的主节点上安装了所有这些包。主脚本驻留在 S3 上,脚本调用它从 EC2 向 Livy 提交作业。每次我尝试 运行 远程机器 (EC2) 上的作业时,它都会死掉并提示导入错误(没有 module named [mod name] )

我已经坚持了一个多星期了,一直找不到可行的解决方案。任何帮助将不胜感激。 谢谢

您正尝试导入这些包。他们是定制包吗?如果是这样,你是如何包装它们的。您是否创建了 wheel 文件或 zip 文件,并在您的 spark 通过 livy 提交中将它们指定为 --py-files?

可能的问题。

您只在主节点上安装了软件包。您将需要登录您的工作节点并在那里安装软件包。否则,当您提供 emr 时,使用 bootstrap actions

安装软件包

您应该可以通过 —py-files 选项添加库,但只下载 wheel 文件并使用它们比自己压缩任何东西更安全。