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 uno o più Etichette utente Dataproc. I cluster nella stessa regione del flusso di lavoro le cui etichette corrispondono a tutte le etichette del selettore sono idonei per l'esecuzione dei job del flusso di lavoro. Se più cluster corrispondono al selettore, Dataproc scegliere il cluster con la maggiore quantità di memoria YARN 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 fa parte di una WorkflowTemplate inviate con un workflowTemplates.create o workflowTemplates.update richiesta.Console
Puoi visualizzare i modelli di flusso di lavoro esistenti e i flussi di lavoro di cui è stata creata un'istanza da lo strumento Dataproc Flussi di lavoro nella console Google Cloud.
Utilizzare le etichette applicate automaticamente
Puoi puntare un selettore di cluster a un cluster esistente utilizzando una delle seguenti etichette del 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 lasciare che sia Dataproc a 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 sul cluster-1 o sul cluster-2, ma non sul cluster-3.