Usa i selettori di cluster con flussi di lavoro

In alternativa all'esecuzione di un flusso di lavoro su un cluster gestito, puoi utilizzare un selettore di cluster per scegliere un cluster esistente per il tuo flusso di lavoro. Al termine del flusso di lavoro, il cluster selezionato non viene eliminato.

I selettori specificano una o più etichette utente di Dataproc. I cluster nella stessa regione del flusso di lavoro le cui etichette corrispondono a tutte le etichette del selettore sono idonei per eseguire job del flusso di lavoro. Se più cluster corrispondono al selettore, Dataproc sceglierà il cluster con la memoria YARN più libera.

Aggiunta di un selettore di cluster a un modello

Puoi aggiungere un selettore di cluster a un modello di flusso di lavoro utilizzando Google Cloud CLI o l'API Dataproc.

Comando g-cloud

gcloud dataproc workflow-templates set-cluster-selector template-id \
    --region=region \
    --cluster-labels=name=value[[,name=value]...]

API REST

Consulta WorkflowTemplatePlacement.ClusterSelector. Questo campo viene fornito come parte di una richiesta WorkflowTemplate completata inviata con una richiesta workflowTemplates.create o workflowTemplates.update.

Console

Puoi visualizzare i modelli di flusso di lavoro esistenti e i flussi di lavoro per i quali è stata creata un'istanza dalla pagina Flussi di lavoro di Dataproc nella console Google Cloud.

Utilizzo delle etichette applicate automaticamente

Puoi puntare un selettore di cluster a un cluster esistente utilizzando una delle seguenti etichette di cluster applicate automaticamente:

  • goog-dataproc-cluster-name
  • goog-dataproc-cluster-uuid

Esempio:

gcloud dataproc workflow-templates set-cluster-selector template-id \
    --region=region \
    --cluster-labels=goog-dataproc-cluster-name=my-cluster

Selezione da un pool di cluster

Puoi consentire a Dataproc di scegliere un cluster da un pool di cluster. I pool di cluster possono essere definiti con etichette.

Esempio:

gcloud dataproc clusters create cluster-1 --labels cluster-pool=pool-1 \
    --region=region
gcloud dataproc clusters create cluster-2 --labels cluster-pool=pool-1 \
    --region=region
gcloud dataproc clusters create cluster-3 --labels cluster-pool=pool-2 \
    --region=region

Dopo la creazione del cluster ...

gcloud dataproc workflow-templates create my-template \
    --region=region
gcloud dataproc workflow-templates set-cluster-selector my-template \
    --region=region \
    --cluster-labels=cluster-pool=pool-1

Il flusso di lavoro verrà eseguito su cluster-1 o cluster-2, ma non su cluster-3.