Cloud Dataflow プログラミング モデル

Dataflow プログラミング モデルは、大規模なデータ処理の構造を単純化するように設計されています。Dataflow SDK を使用してプログラミングするとき、実際には、Cloud Dataflow ランナー サービスの 1 つによって実行されるデータ処理ジョブを作成しています。このモデルのおかげで、並列処理の物理的な調整ではなく、データ処理ジョブの論理的な構成に集中することができます。つまり、ジョブの実行方法ではなく、ジョブの実行内容に焦点を絞ることができます。

Dataflow モデルでは、有効な抽象化がいくつも提供されるため、分散処理の下層部分の細かい設定(個々のワーカーの調整やデータセットの分割などのタスク)をユーザーが扱う必要がなくなります。このような下層部分の詳細は、Cloud Dataflow のランナー サービスが全面的に管理します。

Dataflow を使用するデータ処理については、次に示す 4 つの主要コンセプトの観点から検討します。

  • パイプライン
  • PCollection
  • 変換
  • I/O ソースとシンク

これらの基本事項について理解したら、パイプライン設計の原則を学ぶことで、データ処理タスクを実行するために最適な Dataflow プログラミング モデルの使用方法を決定できるようになります。

パイプライン

パイプラインは、外部ソースから入力データを受け取り、そのデータを役立つ情報に変換し、出力データを生成するという、一連の計算全体をカプセル化したものです。多くの場合、出力データは外部データシンクに書き込まれます。入力ソースと出力シンクは同一でも別の型でもかまいません。ユーザーはデータの形式を簡単に変換できます。

各パイプラインは、Dataflow サービスにおいて、潜在的に反復可能な 1 つのジョブの開始から終了までを表します。

Dataflow SDK でパイプラインが何を意味するかについて詳しくは、パイプラインをご覧ください。

PCollection

PCollection はパイプライン内の一連のデータを表します。Dataflow の PCollection クラスは、事実上サイズ制限がないデータセットを表すことができる特殊なコンテナクラスです。PCollection は、固定サイズのデータセット(テキスト ファイルまたは BigQuery テーブルのデータなど)、または継続して更新されるデータソースの制限なしデータセット(Google Cloud Pub/Sub のサブスクリプションなど)を保持できます。

PCollection は、パイプラインの各ステップの入力と出力です。

Dataflow SDK での PCollection の仕組みについては、PCollection をご覧ください。

変換

変換は、パイプライン内のデータ処理オペレーションすなわちステップです。変換は、1 つ以上の PCollection を入力として取り、その PCollection の要素に対して処理関数を実行し、出力 PCollection を生成します。

パイプライン内の変換を厳密に直線的なシーケンスとして配置する必要はありません。条件、ループ、他のプログラミング構造を使用して、分岐するパイプラインや反復構造を含むパイプラインを作成できます。パイプラインは、直線的なシーケンスではなく、ステップの有向グラフと考えることができます。

Dataflow SDK での変換の仕組みについて詳しくは、変換をご覧ください。

I/O ソースとシンク

Dataflow SDK では、パイプライン I/O のためのデータソースとデータシンクの API が提供されます。ソース API を使用してパイプラインにデータを読み込み、シンク API を使用してパイプラインからデータを書き出します。このようなソースとシンクのオペレーションは、パイプラインのルートとエンドポイントを表します。

Dataflow のソースとシンクの API を使用することで、Google Cloud Storage のファイルや BigQuery テーブルなど、さまざまなデータ ストレージ形式のデータをパイプラインが扱えるようになります。また、カスタム データソース(またはシンク)を使用するには、並列での読み取り(または書き込み)の方法を Dataflow に指示します。

Dataflow SDK でのデータソースとデータシンクの仕組みについて詳しくは、パイプライン I/O をご覧ください。

Apache Spark™ は、Apache Software Foundation または米国その他の諸国における関連会社の商標です。
このページは役立ちましたか?評価をお願いいたします。

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

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