【问题标题】:How to pass and access Dataproc Sparkjob args while instantiating the Dataproc Workflow Template如何在实例化 Dataproc 工作流模板时传递和访问 Dataproc Sparkjob 参数
【发布时间】:2021-02-28 13:02:36
【问题描述】:

我正在使用 Dataproc 工作流模板来运行 Sparkjob。我想将输入文件动态传递给 Sparkjob 参数,同时通过 Dataproc 工作流模板对其进行实例化。我怎样才能实现它?

【问题讨论】:

    标签: google-cloud-platform parameter-passing google-cloud-dataproc


    【解决方案1】:

    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/
    

    【讨论】:

    • 感谢您的解决方案。我在 YAML 文件和 gcloud 命令中稍作更正以使其正常工作。 YAML 文件 --> args 索引将是 0 和 1 而不是 1 和 2 gcloud 命令 --> 我们必须提到区域
    • 感谢反馈,我已修复。
    猜你喜欢
    • 2018-03-30
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 2019-06-30
    • 2018-05-12
    • 1970-01-01
    相关资源
    最近更新 更多