Dataflow パイプラインの構築

このページでは、Dataflow のパイプラインを構築するさまざまな方法と、各方法のメリットについて説明します。

Google 提供のテンプレート

Google は、数十の事前構築済み Dataflow パイプライン用のオープンソース テンプレートを提供しています。これらのテンプレートは、Google Cloud コンソールまたはコマンドラインから実行できます。一部のテンプレートは、ユーザー定義関数(UDF)の追加をサポートしています。これにより、出力先に書き込む前にデータを変換できます。

シナリオに一致するテンプレートがある場合は、テンプレートの使用を検討してください。完全なリストについては、Google 提供のテンプレートをご覧ください。

ジョブビルダー

ジョブビルダーは、コードを記述せずに Google Cloud コンソールで Dataflow パイプラインを構築して実行するためのビジュアル UI です。ジョブビルダーでは、ソース、シンク、変換を選択してグラフを形成するように接続することで、パイプラインを作成します。ジョブビルダーでは、パイプラインを YAML ファイルとして保存して読み込むこともできます。

次のようなシナリオでは、ジョブビルダーの利用をご検討ください。

  • Google 提供のテンプレートがシナリオに一致しない場合は、カスタム パイプラインを作成します。
  • コーディングなしでパイプラインを構築します。
  • 複数のソースまたはシンクを含むパイプラインを作成します。
  • プロトタイプをすばやく作成できます。

詳細については、ジョブビルダー UI の概要をご覧ください。

ジョブビルダーは、Apache Beam で使用可能なソースとシンクのサブセットをサポートしています。ジョブビルダーでサポートされていないものが必要な場合は、Google 提供のテンプレートを試すか、Apache Beam SDK を使用してください。

Apache Beam SDK

Dataflow パイプラインは、オープンソースの Apache Beam SDK で構築されています。SDK を使用してパイプラインを記述すると、ワークロードに Apache Beam の機能を最大限に活用できます。パイプラインは Java、Python、Go で記述できます。

Google 提供のテンプレートまたはジョブビルダーを使用してシナリオを実現できない場合は、Apache Beam SDK の使用を検討してください。次に例を示します。

  • Apache Beam の完全な機能セットを必要とする、より複雑なパイプライン。
  • 再処理など、遅延データの処理に高度な戦略が必要なストリーミング パイプライン。

詳細については、Apache Beam を使用してパイプラインを構築するをご覧ください。

ノートブック

JupyterLab ノートブックで Apache Beam Python コードを実行できます。これらのノートブックは、Vertex AI Workbench で提供されています。これは、最新のデータ サイエンスと ML フレームワークがプリインストールされたノートブック VM をホストするサービスです。ノートブックを使用すると、開発環境をセットアップする必要がなく、パイプライン コードを迅速に反復処理できます。Notebooks はテスト環境で実行されますが、本番環境で使用するコードをエクスポートできます。

詳細については、Apache Beam ノートブックを開発するをご覧ください。