【发布时间】:2021-02-28 13:02:36
【问题描述】:
我正在使用 Dataproc 工作流模板来运行 Sparkjob。我想将输入文件动态传递给 Sparkjob 参数,同时通过 Dataproc 工作流模板对其进行实例化。我怎样才能实现它?
【问题讨论】:
标签: google-cloud-platform parameter-passing google-cloud-dataproc
我正在使用 Dataproc 工作流模板来运行 Sparkjob。我想将输入文件动态传递给 Sparkjob 参数,同时通过 Dataproc 工作流模板对其进行实例化。我怎样才能实现它?
【问题讨论】:
标签: google-cloud-platform parameter-passing google-cloud-dataproc
见Parameterization of Dataproc Workflow Templates。
示例模板 (my_template.yaml):
...
jobs:
- stepId: job1
sparkJob:
...
args:
- 'input file URI'
- 'output directory'
parameters:
- name: INPUT_FILE
fields:
- jobs['job1'].sparkJob.args[0]
- name: OUTPUT_DIR
fields:
- jobs['job1'].sparkJob.args[1]
创建/导入模板:
gcloud dataproc workflow-templates import my-template \
--region=<region> \
--source=my_template.yaml
用 args 实例化模板:
gcloud dataproc workflow-templates instantiate my-template \
--region=<region> \
--parameters=INPUT_FILE=gs://my-bucket/test.txt,OUTPUT_DIR=gs://my-bucket/output/
【讨论】: