Cloud Dataflow テンプレート

Cloud Dataflow テンプレートを使用すると、Cloud Storage 上のパイプラインをステージングして、さまざまな環境で実行できます。テンプレートは、Google 提供のテンプレートを使用することも、自身で作成することもできます。

従来の Cloud Dataflow のデプロイと比較すると、テンプレートには次のようなメリットがあります。

  • パイプラインを実行するたびにコードを再コンパイルする必要はありません。
  • パイプラインは、従来のデプロイ環境でよく使用される開発環境や関連する依存関係を使用せずに実行できます。これは、繰り返し実行するバッチジョブをスケジュールする際に便利です。
  • ランタイムのパラメータによってパイプラインの実行をカスタマイズできます。
  • 技術者以外のユーザーは、Google Cloud Platform Console、gcloud コマンドライン ツール、または REST API を使用して、テンプレートを実行できます。

従来のジョブ実行とテンプレート化されたジョブ実行の比較

Cloud Dataflow テンプレートによって、従来のジョブ実行のワークフローとは異なる、新たな開発と実行のワークフローが採用されました。テンプレートのワークフローでは、ステージングと実行のステップから開発のステップが分離されます。

従来の Cloud Dataflow ジョブ

Apache Beam パイプラインの開発とジョブの実行は、すべて開発環境内で行われます。

従来の Cloud Dataflow ジョブの典型的なワークフロー:

  1. 開発者が開発環境を作成し、パイプラインを開発します。環境には、Apache Beam SDK やその他の依存関係が含まれます。
  2. ユーザーは、開発環境からパイプラインを実行します。Apache Beam SDK が Cloud Storage 内のファイルをステージングし、ジョブ リクエスト ファイルを作成し、そのファイルを Cloud Dataflow サービスに送信します。

テンプレート化された Cloud Dataflow ジョブ

Cloud Dataflow テンプレートを使用する場合、ステージングと実行は別のステップです。このように分離されているため、ジョブを実行できるユーザーとジョブの実行元となる場所を柔軟に決定できます。

テンプレート化された Cloud Dataflow ジョブの典型的なワークフロー:

  1. 開発者が開発環境を作成し、パイプラインを開発します。環境には、Apache Beam SDK やその他の依存関係が含まれます。
  2. 開発者がパイプラインを実行し、テンプレートを作成します。Apache Beam SDK が Cloud Storage 内のファイルをステージングし、テンプレート ファイル(ジョブ リクエストと類似したもの)を作成し、Cloud Storage 内にテンプレート ファイルを保存します。
  3. 開発者以外のユーザーは、GCP Console、gcloud コマンドライン ツール、または REST API を使用して、Cloud Dataflow サービスにテンプレート ファイルの実行リクエストを送信するジョブを簡単に実行できます。

始める前に

独自のテンプレートを作成する際は、使用している Apache Beam SDK のバージョンでテンプレートの作成がサポートされていることを確認します。

Java: SDK 2.x

Cloud Dataflow SDK 2.x for Java を使用してテンプレートを作成するには、バージョン 2.0.0-beta3 以降が必要です。

Python

Cloud Dataflow SDK 2.x for Python を使用してテンプレートを作成するには、バージョン 2.0.0 以降が必要です。

Java: SDK 1.x

Cloud Dataflow SDK 1.x for Java を使用してテンプレートを作成するには、バージョン 1.9.0 以降が必要です。

テンプレートを実行するために gcloud コマンドライン ツールを使用する場合は、Cloud SDK のバージョン 138.0.0 以降が必要です。

次のステップ

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

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

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