Последовательное выполнение нескольких искровых заданий в datapro c / gcp - PullRequest
3 голосов
/ 18 июня 2020

Я хотел бы последовательно запускать несколько искровых заданий в gcp, например

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

, чтобы выполнение одного из них начиналось сразу после завершения выполнения предыдущего задания.

Есть ли способ это сделать?

1 Ответ

4 голосов
/ 18 июня 2020

Это можно сделать с помощью Datapro c Шаблоны рабочих процессов

Этот рабочий процесс создаст и удалит кластер как часть рабочего процесса.

Это шаги вы можете следовать, чтобы создать рабочий процесс:

  1. Создайте свой шаблон рабочего процесса
export REGION=us-central1

gcloud dataproc workflow-templates create workflow-id \
  --region $REGION
Установите тип кластера Datapro c, который будет использоваться для заданий
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 \ 
...