bootstrap 操作中的 Amazon EMR pip install 运行正常但没有效果

Amazon EMR pip install in bootstrap actions runs OK but has no effect

在 Amazon EMR 中,我使用以下脚本作为自定义 bootstrap action 来安装 python 包。脚本 运行 没问题(检查了日志,包安装成功)但是当我在 Jupyter Lab 中打开笔记本时,我无法导入其中任何一个。如果我在 JupyterLab 中打开一个终端并且 运行 pip listpip3 list,我的包的 none 就在那里。例如,即使我去 / 和 运行 find . -name mleap,它也不存在。

我注意到,在主节点上,我一直收到一条错误消息,提示 bootstrap 操作 2 失败(没有第二个操作,只有一个)。根据 this,这是我在所有集群中遇到的罕见错误。然而,我的集群最终被创建并且我可以使用它。

我的脚本叫做aws-emr-bootstrap-actions.sh

#!/bin/bash

sudo python3 -m pip install numpy scikit-learn pandas mleap sagemaker boto3

我怀疑这可能与正在部署的 docker 图像有关,该图像使我之前的安装或其他东西无效,但我认为(对于我的 Google 搜索)通常使用 bootstrap 操作来安装 python 包并且应该工作...

Spark 使用的 PYSPARK、Python 解释器与 OP 安装模块的解释器不同(如评论中所确认)。