Cloud Dataproc ワークフロー テンプレートの概要

Cloud Dataproc の WorkflowTemplates API には、ワークフローを管理および実行するための柔軟で使いやすいメカニズムが備えられています。ワークフロー テンプレートは、再利用可能なワークフロー構成です。ジョブを実行する場所に関する情報を含むジョブのグラフを定義します。

要点:

  • ワークフロー テンプレートをインスタンス化すると、ワークフローが起動します。ワークフローは、クラスタ上のジョブの有向非巡回グラフ(DAG)を実行するオペレーションです。ワークフローによってマネージド クラスタが使用されている場合は、クラスタが作成され、ジョブが実行され、ジョブが終了したときにクラスタが削除されます。
  • ワークフローによってクラスタ セレクタが使用されている場合は、選択された既存のクラスタでジョブが実行されます。
  • ワークフローは複雑なジョブフローに最適です。依存関係が正常に完了した後に限りジョブが開始されるように、ジョブ依存関係を作成できます。
  • ワークフロー テンプレートを作成することで、Cloud Dataproc クラスタが作成されたり、ジョブが送信されたりすることはありません。ワークフローに関連付けられたクラスタとジョブは、ワークフロー テンプレートをインスタンス化するときに作成されます。

ワークフロー テンプレートの種類

マネージド クラスタ

ワークフロー テンプレートでは、マネージド クラスタを指定できます。ワークフローでは、この「エフェメラル」クラスタを作成してワークフロー ジョブを実行し、ワークフローの終了時にこのクラスタを削除します。

クラスタ セレクタ

ワークフロー テンプレートでは、以前に 1 つ以上のクラスタに適用されていた 1 つ以上のユーザーラベルを指定することによって、ワークフロー ジョブを実行する既存のクラスタを指定できます。ワークフローは、指定されたすべてのラベルに一致するクラスタで実行されます。複数のクラスタがラベルと一致する場合、Cloud Dataproc では、すべてのワークフロー ジョブを実行するために、YARN メモリの空き容量が最も多いクラスタを選択します。ワークフローの最後に、選択したクラスタは削除されません。詳細については、ワークフローでのクラスタ セレクタの使用をご覧ください。

パラメータ化

ワークフロー テンプレートに別の値を指定して複数回使用する場合は、テンプレートでパラメータを定義し、実行ごとにパラメータに異なる値を渡すと、実行ごとにワークフロー テンプレートを編集する必要がなくなります。詳細については、ワークフロー テンプレートのパラメータ化をご覧ください。

インライン

ワークフローをインラインでインスタンス化するには、gcloud コマンドとワークフロー テンプレート YAML ファイルを組み合わせて使用するか、Cloud Dataproc InstantiateInline API を呼び出します。インライン ワークフローでは、ワークフロー テンプレートのリソースは作成または変更されません。

ワークフロー テンプレートのユースケース

  • 反復的なタスクの自動化: 頻繁に使用されるクラスタ構成とジョブが、ワークフローによってカプセル化されます。

  • Transactional、Fire、Forget API インタラクション モデル: ワークフロー テンプレートは、クラスタの作成、ジョブの送信、ポーリング、クラスタの削除などの一般的なフローに関与する手順を置き換えます。単一のトークンを使用して、クラスタの作成から削除までの進行状況を追跡し、エラー処理および回復を自動化します。また、Cloud Functions や Cloud Composer などの他のツールと Cloud Dataproc の統合を簡素化します。

  • エフェメラル クラスタと長寿命クラスタのサポート: Apache Hadoop の実行に関連して、クラスタを調整して適正サイズに変更する作業が一般的に複雑になります。エフェメラル(マネージド)クラスタは、単一のワークロードを実行するため、より簡単に構成できます。より寿命が長いクラスタでクラスタ セレクタを使用すると、クラスタの作成および削除に伴う償却コストが発生することなく、同じワークロードを繰り返し実行できます。

  • Granular IAM セキュリティ: Cloud Dataproc クラスタを作成してジョブを送信するには、オールオアナッシングの IAM の権限が必要です。ワークフロー テンプレートは、テンプレートごとの workflowTemplates.instantiate 権限を使用し、クラスタまたはジョブの権限に依存しません。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Dataproc ドキュメント
ご不明な点がありましたら、Google のサポートページをご覧ください。