Dataflow を使ってみる

Dataflow サービスは、Apache Beam SDK で定義されたパイプラインを実行します。ただし、多くのユースケースでは、Dataflow にノーコード オプションとローコード オプションが用意されているため、SDK を使用してコードを記述する必要はありません。

  • あるプロダクトから別のプロダクトにデータを移動する場合、Dataflow には、 Google Cloud コンソールまたはコマンドラインから実行できる事前構築済みテンプレートが用意されています。たとえば、テンプレートを使用して Pub/Sub から BigQuery にデータを移動できます。

  • シンプルなユースケースにおいて、ユースケースのテンプレートがない場合や小さなカスタマイズを行いたい場合には、ジョブビルダーをおすすめします。ジョブビルダーは、Google Cloud コンソールで Dataflow パイプラインを構築するためのビジュアル UI です。ソースとシンクを選択し、結合、Python 関数、SQL 変換などの変換を追加します。なお、ジョブビルダーが対応しているのはソースとシンクの一部であることにご注意ください。対応していないソースまたはシンクを指定したい場合は、Apache Beam SDK を使用してください。

  • Dataflow では、機械学習(ML)用のパイプラインを最小限のコードで構成できる、すぐに使える変換処理が提供されています。まず、Google Colab でサンプルの ML ノートブックを実行します。詳細については、Dataflow ML の概要をご確認ください。

  • Apache Beam の機能を最大限に活用するには、SDK を使用して Python、Java、Go でカスタム パイプラインを作成します。

何を使うべきか決める際の参考になるよう、一般的な例を以下にまとめています。

やりたいこと おすすめの方法

ソースからシンクにデータを移動し、Python 関数または SQL を使ってカスタム ロジックを適用する。

現在このユースケースがなくても今後考えられる場合は、この方法をおすすめします。

ジョブビルダー
カスタム ロジックなしで、ソースからシンクにデータを移動する。 テンプレート
パイプラインで ML モデルを使用するか、トレーニングまたは推論用にデータを準備する。 Dataflow ML のすぐに使える変換処理
より高度な Apache Beam 機能を必要とするパイプラインを Java、Python、Go のいずれかで記述する。 Apache Beam SDK

次のステップ