我想在gcp中依次启动多个spark任务,比如
gcloud dataproc jobs submit spark file1.py gcloud dataproc jobs submit spark file2.py ...
因此,当上一个作业的执行完成时,其中一个作业的执行就开始了。有什么办法吗?
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 以确保它在第一个作业之后运行。
--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 \
1条答案
按热度按时间mm5n2pyu1#
这可以使用dataproc工作流模板完成
此工作流将创建和删除集群作为工作流的一部分。
您可以按照以下步骤创建工作流:
创建工作流模板
设置将用于作业的dataproc群集类型
将作业作为步骤添加到工作流中
第二个作业需要参数
--start-after
以确保它在第一个作业之后运行。运行工作流