マネージド クラスタでワークフローを実行する代わりに、クラスタ セレクタを使用して、ワークフローの既存のクラスタを選択できます。ワークフローの終了時に、選択したクラスタは削除されません。
セレクタは、1 つ以上の Dataproc ユーザーラベルを指定します。ワークフローのラベルが、すべてのセレクタ ラベルと一致しているワークフローと同じリージョンにあるクラスタは、ワークフロー ジョブを実行できます。複数のクラスタがセレクタと一致する場合、Dataproc は YARN メモリの空き容量が最も多いクラスタを選択します。
テンプレートへのクラスタ セレクタの追加
Google Cloud CLI または Dataproc API を使用して、クラスタ セレクタをワークフロー テンプレートに追加できます。
gcloud コマンド
gcloud dataproc workflow-templates set-cluster-selector template-id \ --region=region \ --cluster-labels=name=value[[,name=value]...]
REST API
WorkflowTemplatePlacement.ClusterSelector をご覧ください。このフィールドは、workflowTemplates.create または workflowTemplates.update リクエストによって送信された、完成済みの WorkflowTemplate の一部として提供されます。Console
Google Cloud コンソールの Dataproc [ワークフロー] ページから、既存のワークフロー テンプレートとインスタンス化されたワークフローを表示できます。
自動的に適用されたラベルの使用
次のいずれかの自動的に適用されるクラスタラベルを使用して、クラスタ セレクタで既存のクラスタを参照できます。
goog-dataproc-cluster-name
goog-dataproc-cluster-uuid
例:
gcloud dataproc workflow-templates set-cluster-selector template-id \ --region=region \ --cluster-labels=goog-dataproc-cluster-name=my-cluster
クラスタプールからの選択
Cloud Dataproc で、クラスタのプールからクラスタが選択されるようにできます。 クラスタプールはラベルで定義できます。
例:
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
クラスタの作成後、
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
ワークフローは、cluster-1 または cluster-2 では実行されますが、cluster-3 では実行されません。