在AWS EMR上运行的PySpark中安装包

3phpmpom  于 2023-05-28  发布在  Spark
关注(0)|答案(1)|浏览(197)

我需要在AWS EMR PySpark内核中安装一个包。我使用以下代码

sc.install_pypi_package("statsmodels")

这样做我得到的错误

statsmodels/tsa/_stl.c:39:10: fatal error: Python.h: No such file or directory
     #include "Python.h"
              ^~~~~~~~~~
    compilation terminated.
    error: command 'gcc' failed with exit status 1

如何解决此问题我。还有更多像s3fs这样的软件包,当我尝试安装它们时,它们会给予相同的错误。
经过谷歌搜索我做了以下工作

sudo yum install python-dev

但这个又回来了

Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
3 packages excluded due to repository priority protections
No package python-dev available.
Error: Not tolerating missing names on install, stopping.

我对EMR是如何运行的知之甚少,这不是我所理解的。

rhfm7lfc

rhfm7lfc1#

我们在EMR集群上使用通过Pandas UDF调用的自定义Python库。我们使用以下设置将所有依赖项打包到Docker镜像中,然后由EMR使用:https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark-docker.html
我会诚实地说,这不是最容易设置它,但现在我们有它,它的伟大。首先,我们可以确保所有依赖项的版本(我们使用NumPy,Pandas,Statsmodels)在prod中与我们在dev中使用的版本相同,因此不会出现在dev中工作而不在prod中工作的情况。

相关问题