In alternativa all'esecuzione di un workflow su un cluster gestito, puoi utilizzare un selettore di cluster per scegliere un cluster esistente per il tuo workflow. Al termine del workflow, il cluster selezionato non viene eliminato.
I selettori specificano una o più etichette utente di Managed Service for Apache Spark. I cluster nella stessa regione del workflow le cui etichette corrispondono a tutte le etichette del selettore sono idonei per l'esecuzione dei job del workflow. Se più cluster corrispondono al selettore, Managed Service for Apache Spark sceglierà il cluster con la memoria YARN più libera.
Aggiungi un selettore di cluster a un template
Puoi aggiungere un selettore di cluster a un modello di workflow 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 un WorkflowTemplate completato inviato con una richiesta workflowTemplates.create o workflowTemplates.update.Console
Puoi visualizzare i modelli di workflow esistenti e i workflow di cui è stata creata un'istanza dalla pagina Workflow di Managed Service for Apache Spark nella console Google Cloud .
Utilizza le etichette applicate automaticamente
Puoi indirizzare un selettore di cluster a un cluster esistente utilizzando una delle seguenti etichette di cluster applicate automaticamente:
goog-dataproc-cluster-namegoog-dataproc-cluster-uuid
Esempio:
gcloud dataproc workflow-templates set-cluster-selector template-id \ --region=region \ --cluster-labels=goog-dataproc-cluster-name=my-cluster
Seleziona da un pool di cluster
Puoi consentire a Managed Service for Apache Spark 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 workflow verrà eseguito su cluster-1 o cluster-2, ma non su cluster-3.