0

我目前正在使用DataProcPySparkOperatorAirflow 和 Cloud Storage 中的脚本启动 PySpark

run_pyspark_job = dataproc_operator.DataProcPySparkOperator(
    task_id='run-dataproc-pyspark',
    main='gs://my-repo/my-script.py',
    project_id=PROJECT_ID,
    cluster_name=CLUSTER_NAME,
    region='europe-west4'
)

无论如何要从 Cloud Source Repositories 传递脚本吗?对于给定的存储库,可以获取到脚本的绝对链接,但 DAG 似乎不接受它。

https://source.cloud.google.com/my-organisation/my-repo/+/master:my-script.py

有没有办法实现它?

4

1 回答 1

0

引用的所有 Python 和 Jar 文件必须来自 HDFS 或与 HDFS 兼容的文件系统,或者位于 Google Cloud Storage 存储中。有关更多信息,您可以参考Airflow 文档

要创建 Cloud Storage 存储分区,您可以使用以下Make Bucket 命令

gsutil mb -l us-central1 gs://$DEVSHELL_PROJECT_ID-data

您可以按如下方式执行此操作:

如果要使用 Cloud Source Repositories 中的文件,首先需要克隆存储库,然后将数据内容复制到 Google Cloud Storage

gsutil cp -r dir1/dir2 gs://$DEVSHELL_PROJECT_ID-data

我希望您发现上述信息有用。

于 2020-01-14T07:25:20.500 回答