如何在 Dataproc 集群启动时自动安装 Python 库?

Posted

技术标签:

【中文标题】如何在 Dataproc 集群启动时自动安装 Python 库?【英文标题】:How do I install Python libraries automatically on Dataproc cluster startup? 【发布时间】:2015-12-21 03:25:35 【问题描述】:

如何在集群启动时自动在我的 Dataproc 集群上安装 Python 库?这将省去我手动登录主节点和/或工作节点以手动安装我需要的库的麻烦。

如果还知道这种自动安装是否可以在 master 而不是 worker 上安装东西,那就太好了。

【问题讨论】:

【参考方案1】:

初始化操作是执行此操作的最佳方式。初始化操作是在创建集群时运行的 shell 脚本。这将允许您自定义集群,例如安装 Python 库。这些脚本必须存储在 Google Cloud Storage 中,并且可以在通过 Google Cloud SDK 或 Google Developers Console 创建集群时使用。

这是一个示例初始化操作,用于在主节点上在集群创建时安装 Python pandas。

#!/bin/sh
ROLE=$(/usr/share/google/get_metadata_value attributes/role)
if [[ "$ROLE" == 'Master' ]]; then 
  apt-get install python-pandas -y
fi

从这个脚本中可以看出,可以通过/usr/share/google/get_metadata_value attributes/role 识别节点的角色,然后专门在主(或工作)节点上执行操作。

您可以查看Google Cloud Dataproc Documentation了解更多详情

【讨论】:

Dataproc 文档有点过时了。您需要运行/usr/share/google/get_metadata_value attributes/dataproc-role 来获取字符串“Master”。命令/usr/share/google/get_metadata_value attributes/ 给出了可用属性的列表。

以上是关于如何在 Dataproc 集群启动时自动安装 Python 库?的主要内容,如果未能解决你的问题,请参考以下文章

错误:启动 Dataproc 集群时资源项目的权限被拒绝

在启动 Google DataProc 集群以与 Jupyter 笔记本一起使用时,如何包含其他 jar?

自动设置 Dataproc 集群后 Yarn/Spark 的内存分配不正确

如何在自动扩缩 GCP Dataproc 时了解初级工作者?

如何提交依赖于 google dataproc 集群的 pyspark 作业

使用 Spark BigQuery 连接器启动 Dataproc 集群