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

Posted

技术标签:

【中文标题】如何提交依赖于 google dataproc 集群的 pyspark 作业【英文标题】:how to submit pyspark job with dependency on google dataproc cluster 【发布时间】:2016-08-15 13:04:21 【问题描述】:

我正在使用 google dataproc 集群运行 spark 作业,脚本在 python 中。

当只有一个脚本(例如test.py)时,我可以使用以下命令提交作业:

gcloud dataproc 作业提交 pyspark --cluster analyze ./test.py

但是现在test.py从自己写的其他脚本导入模块,怎么在命令中指定依赖呢?

【问题讨论】:

【参考方案1】:

您可以使用here 中提到的--py-files 选项。

【讨论】:

【参考方案2】:

如果你有一个结构为

- maindir - lib - lib.py
          - run - script.py

您可以使用 --files 标志或 --py-files 标志包含其他文件

gcloud dataproc jobs submit pyspark --cluster=clustername --region=regionname --files /lib/lib.py /run/script.py

你可以在script.py中导入

from lib import something

但是,我不知道有一种方法可以避免手动添加文件列表的繁琐过程。更详细的解释请查看Submit a python project to dataproc job

【讨论】:

以上是关于如何提交依赖于 google dataproc 集群的 pyspark 作业的主要内容,如果未能解决你的问题,请参考以下文章

Google Cloud Dataproc 上的 Pyspark 作业失败

如何在 Google Cloud Platform 上查看 Dataproc 作业的输出文件

如何在 Google Dataproc 集群中安装 python 包

Google Dataproc Presto:如何使用 Python 运行查询

如何衡量 Google Cloud Dataproc 中的高可用性

来自 DataProc 集群的 Google Cloud Sdk