问题描述
我希望使用Dataproc工作流程来运行顺序的Spark作业。
基于docs,它必须:
为了将作业添加到工作流,您需要知道该作业的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作业。