bjo*_*ndv 7 google-cloud-dataproc
我试图使用python文件的zip的GCS uri提交作业(通过--py-files参数),并将python文件名作为PY_FILE参数值.这似乎不起作用.我是否需要为PY_FILE值提供一些相对路径?PY_FILE也包含在zip中.例如in
gcloud beta dataproc jobs submit pyspark --cluster clustername --py-files gcsuriofzip PY_FILE
Run Code Online (Sandbox Code Playgroud)
PY_FILE的价值应该是多少?
这是一个很好的问题.要回答这个问题,我将使用PySpark wordcount示例.
在这种情况下,我创建了两个文件,一个叫做test.py我想要执行的文件,另一个叫做wordcount.py.zip包含修改 wordcount.py文件的zip ,用于模仿我想要调用的模块.
我的test.py文件看起来像这样:
import wordcount
import sys
if __name__ == "__main__":
wordcount.wctest(sys.argv[1])
Run Code Online (Sandbox Code Playgroud)
我修改了wordcount.py文件以消除main方法并添加命名方法:
...
from pyspark import SparkContext
...
def wctest(path):
sc = SparkContext(appName="PythonWordCount")
...
Run Code Online (Sandbox Code Playgroud)
我可以使用以下命令在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
Run Code Online (Sandbox Code Playgroud)
在此示例中<bucket>是我的存储桶的名称(或路径),<cluster-name>是我的Dataproc集群的名称.
| 归档时间: |
|
| 查看次数: |
2107 次 |
| 最近记录: |