我遇到了一个让我发疯的问题,部分原因是它太简单了。
所以我有一个 ETL 工作,我想在 EMR 上使用 pySpark 执行。问题是我需要安装一些软件包,例如:numpy、py-stringmatching 等,而且我似乎无法在运行作业之前预先安装这些软件包。
这就是我所在的地方:
设置 ec2 实例,s3 存储桶,使用 AWS 上的 UI 成功启动了 Spark 集群。我尝试使用下面的 shell 脚本通过“引导操作”安装东西,然后通过“步骤”运行 spark 应用程序,脚本如下。他们都住在 S3 上,我只是让集群指向目录。
boostrap_actions.sh
#!/bin/bash -xe
sudo pip install -U py-stringmatching
check_numpy.py
import numpy as np
...它在将 check_numpy.py 作为“步骤”运行时失败。如果您对此有所了解或可以指出我正确的方向,请 lmk。
最佳答案
您是否尝试过使用 .sh 文件引导集群:
sudo pip3 install pandas
它对我有用!但我确保通过
which python
查看集群正在使用什么和 which pip
在主人。
关于amazon-web-services - 在 EMR 上通过 Bootstrap Actions for PySpark 安装 Python 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43442201/