运行Dataproc工作流程

问题描述

我希望使用Dataproc工作流程来运行顺序的Spark作业。

基于docs,它必须:

  1. 创建工作流程
  2. 按作业名称将作业添加到工作流中
  3. 启动工作流程

为了将作业添加到工作流,您需要知道该作业的ID。因此,您需要提交工作。但是,一旦提交所有作业,如何暂停它们,将其添加到工作流程中,然后使用这些作业运行工作流程?

解决方法

所有作业同时运行,除非您指定一个或多个作业相关性。您将是为每个工作提供step-id的人。

示例:

Hadoop 作业“ foo ”添加到“ my-workflow ”模板中。

gcloud dataproc workflow-templates add-job hadoop \
    --region=[region] \
    --step-id=foo \
    --workflow-template=my-workflow \
    -- [space separated job args]

将作业“ bar ”添加到“ my-workflow ”模板中,该模板将在工作流作业“ foo ”完成后运行成功。

> gcloud dataproc workflow-templates add-job [job-type] \
>     --region=[region] \
>     --step-id=bar \
>     --start-after=foo \
>     --workflow-template=my-workflow \
>     -- [space separated job args]

请注意参数--start-after,该参数指示您指定的作业将在该工作流程作业之后运行。这样,您可以按顺序运行Spark作业。