dataproc/gcp中多个spark作业的顺序执行

kkbh8khc  于 2021-05-29  发布在  Spark
关注(0)|答案(1)|浏览(354)

我想在gcp中依次启动多个spark任务,比如

gcloud dataproc jobs submit spark file1.py
gcloud dataproc jobs submit spark file2.py
...

因此,当上一个作业的执行完成时,其中一个作业的执行就开始了。
有什么办法吗?

mm5n2pyu

mm5n2pyu1#

这可以使用dataproc工作流模板完成
此工作流将创建和删除集群作为工作流的一部分。
您可以按照以下步骤创建工作流:
创建工作流模板

export REGION=us-central1

gcloud dataproc workflow-templates create workflow-id \
  --region $REGION

设置将用于作业的dataproc群集类型

gcloud dataproc workflow-templates set-managed-cluster workflow-id \
    --region $REGION \ 
    --master-machine-type machine-type \ 
    --worker-machine-type machine-type \ 
    --num-workers number \ 
    --cluster-name cluster-name

将作业作为步骤添加到工作流中

gcloud dataproc workflow-templates add-job pyspark gs://bucket-name/file1.py \
    --region $REGION \ 
    --step-id job1 \ 
    --workflow-template workflow-id

第二个作业需要参数 --start-after 以确保它在第一个作业之后运行。

gcloud dataproc workflow-templates add-job pyspark gs://bucket-name/file2.py \
    --region $REGION \ 
    --step-id job2 \ 
    --start-after job1 \ 
    --workflow-template workflow-id

运行工作流

gcloud dataproc workflow-templates instantiate template-id \
    --region $REGION \

相关问题