amazon-web-services - 在 EMR 上通过 Bootstrap Actions for PySpark 安装 Python 包

标签 amazon-web-services apache-spark amazon-s3 pyspark emr

我遇到了一个让我发疯的问题,部分原因是它太简单了。

所以我有一个 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/

相关文章:

swift - 在 Swift 5 中从 AWS S3 下载文本文件

amazon-web-services - 部署 aws cdk 包时在 IAM 角色中发现重复的标签键

scala - 通过字符串反射定义spark udf

python - 一起使用 django-storages 和 django-compressor 时尝试压缩静态文件时出错

javascript - Rails : Uploading dropzone, S3,carrierwave,不适用于 Safari,但适用于 Google Chrome

python - 如何从 S3 存储桶中读取 CSV 文件,对其应用某些 if 语句,然后编写新的更新的 CSV 文件并将其放入 S3 存储桶中?

python - 原生安装 PySpark 也支持 S3 访问

python - PySpark 逐行函数

eclipse - 如何使用Spark(Eclipse)从Elasticsearch读取数据并将其转换为表格格式

amazon-web-services - 如何使用 CLI 为 Elastic Beanstalk 配置 VPC