google-cloud-dataproc - 使用 '--py-files' 参数将 PySpark 作业提交到集群

标签 google-cloud-dataproc

我试图使用要使用的 python 文件的 zip 的 GCS uri(通过 --py-files 参数)和 python 文件名作为 PY_FILE 参数值提交作业。
这似乎不起作用。我是否需要为 PY_FILE 值提供一些相对路径? PY_FILE 也包含在 zip 中。
例如在

gcloud beta dataproc jobs submit pyspark  --cluster clustername --py-files gcsuriofzip PY_FILE    

PY_FILE 的值应该是多少?

最佳答案

这是一个很好的问题。要回答这个问题,我将使用 PySpark wordcount example .

在本例中,我创建了两个文件,一个名为 test.py这是我要执行的文件,另一个名为 wordcount.py.zip这是一个包含 的 zip修改 wordcount.py旨在模仿我要调用的模块的文件。

我的 test.py文件如下所示:

import wordcount
import sys
if __name__ == "__main__":
    wordcount.wctest(sys.argv[1])

我修改了wordcount.py文件以消除主要方法并添加命名方法:
...
from pyspark import SparkContext

...
def wctest(path):
    sc = SparkContext(appName="PythonWordCount")
...

我可以调用 Dataproc通过使用以下 gcloud命令:
gcloud beta dataproc jobs submit pyspark  --cluster <cluster-name> \
--py-files gs://<bucket>/wordcount.py.zip gs://<bucket>/test.py \ 
gs://<bucket>/input/input.txt

在此示例中 <bucket>是我的存储桶的名称(或路径),<cluster-name>是我的 Dataproc 集群的名称。

关于google-cloud-dataproc - 使用 '--py-files' 参数将 PySpark 作业提交到集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32785903/

相关文章:

google-cloud-dataproc - 使用新的 Dataproc 图像登录 MySQL 失败?

hadoop - 从 Dataproc 上的 MapReducer 映射器记录日志

java - Apache Spark : Garbage Collection Logs for Driver

java - 诊断 Dataproc 创建集群操作中的错误(Java 库)

jupyter-notebook - 无法在受限的 dataproc 设置中安装 JUPYTER

google-cloud-platform - 删除默认服务帐号后无法在 Dataproc 上创建集群

apache-spark - 如何获得 Spark 作业以使用 Google Cloud DataProc 集群上的所有可用资源?

apache-spark - 如何优化 Hadoop MapReduce 在 Google Datproc 中压缩 Spark 输出?

apache-spark - 如何在 PySpark 应用程序中读取和写入 Google Cloud Bigtable 中的数据?

google-cloud-platform - Dataproc 集群镜像升级