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 コマンドライン ツールを使用してテンプレートを実行するには、バージョン 138.0.0 以降の Cloud SDK が必要です。

次のステップ

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

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

Cloud Dataflow ドキュメント