如何在实例化 Dataproc 工作流模板时传递和访问 Dataproc Sparkjob args

How to pass and access Dataproc Sparkjob args while instantiating the Dataproc Workflow Template

我正在使用 Dataproc 工作流模板 运行 Sparkjob。我想将输入文件动态传递给 Sparkjob args,同时通过 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]

Create/import 模板:

gcloud dataproc workflow-templates import my-template \
    --region=<region> \
    --source=my_template.yaml

使用参数实例化模板:

gcloud dataproc workflow-templates instantiate my-template \
    --region=<region> \
    --parameters=INPUT_FILE=gs://my-bucket/test.txt,OUTPUT_DIR=gs://my-bucket/output/