7
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GCP の Cloud Dataproc と Cloud Dataflow

Last updated at Posted at 2021-07-24

いずれもビッグデータのパイプライン構築のために使用される。

  • Dataprocは、データサイズがあらかじめわかっている時や、cluster sizeを自分で設定したい時に有用。
  • Dataflowは、データサイズやrateが未知の場合(<-GCPがうまいこと調節してくれるから)や、データがリアルタイムに発生する場合に有用。

Cloud Dataproc

  • managed way to run Hadoop
    • HadoopとはMapReduceを使用したビッグデータの処理フレームワーク
    • Hadoopと呼ばれると、一般的に以下の総称を指す。全てOSS。
      • Apache Hadoop (そのもの。以下は関連プロジェクト)
      • Apache Spark (Spark SQLを利用してビッグデータの分析ができる)
      • Apache Pig
      • Apache Hive (BigtableのOSS版)
  • Hadoop clusterにリクエストを投げるだけで実行が可能
    • 平均90秒でclusterが作られる
  • jobの負荷に応じて、clustersをscale up/downしてくれる
  • Stack driverで監視ができる
  • 主に使用したリソース分が課金の大枠を占めることになる。(price rateは秒段位、課金時間は秒単位)
  • バッチ処理に使用するGCEをpreemptible instanceにすることで、節約できる。
    • このやり方を使用するなら、jobが停止されたら再び実行されることを保障する必要がある。

Cloud Dataflow

GCPのdoc(Apache Beam のプログラミング モデル)がわかりやすいので以下そのまま引用。

Apache Beam は、バッチとストリーミングの両方のデータの並列処理パイプラインを定義するオープンソースの統合モデルです。Apache Beam プログラミング モデルは、大規模なデータ処理の構造を単純化します。Apache Beam SDK の 1 つを使用して、パイプラインを定義するプログラムを構築します。次いで、Dataflow などの Apache Beam がサポートする分散処理バックエンドの 1 つがパイプラインを実行します。このモデルのおかげで、並列処理の物理的なオーケストレーションではなく、データ処理ジョブの論理的な構成に集中できます。つまり、ジョブの実行方法ではなく、ジョブの実行内容に焦点を絞ることができます。
Apache Beam モデルでは、有効な抽象化が提供されるため、分散処理の下層部分の細かい設定(個々のワーカーの調整やデータセットの分割などのタスク)をユーザーが扱う必要がなくなります。Dataflow ではこれらの下層レベルの細かい設定が完全に管理されます。

パイプラインの例は以下。

image.png
In this example, Dataflow pipeline reads data from a BigQuery table (=the Source) processes it in a variety of ways (=the Transforms), and writes its output to a CloudStorage (=the Sink).
Some of those transforms you see here are map operations and some are reduce operations.


話を戻す。Dataflowの用途は以下。

  • ETL
  • データ分析(リアルタイムも、バッチ処理も)
7
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?