2024年版【GCP資格の勉強 PDE編】Dataproc / Dataflow / BigQueryの比較とは?

2024年版【GCP資格の勉強 PDE編】

2024年版【GCP資格の勉強 PDE編】Dataproc / Dataflow / BigQueryの比較とは?について解説します。
(★注意:GCP資格 Professional Data Engineer(PDE)試験の公式テキスト・問題集などを元に独自にまとめたものです)

Google Cloud Platform(GCP)には、Dataproc、Dataflow、BigQueryという三つの主なデータ処理サービスがあります。Dataproc、Dataflow、BigQueryのサービスはそれぞれ異なるユースケースや特性を持ち、適切なシナリオに応じて選択します。

Dataprocとは?

  • ユースケース: Apache HadoopやSparkに慣れているユーザー向け。クラスタ起動のオーバーヘッドが許容できる規模のデータ(数百GB?)に適しています。
  • 言語・フレームワーク: Apache SparkやHadoopエコシステム。
  • データソースとデータシンク: BigQuery、Cloud Storage、他のクラウドサービスやオンプレミスシステム。
  • ストリーミングデータ処理: ストリーミング取込み、ストリーミング中の分析(Apache SparkのDStreamを利用)。
  • データタイプ: 構造化、半構造化、非構造化データ。

Dataflowとは?

  • ユースケース: SQLで表現できないバッチ処理、ストリーミング処理。クラスタ起動のオーバーヘッドが許容できる規模のデータに適しています。
  • 言語・フレームワーク: Apache Beam(Python、Java、Go)、SQL(Dataflow SQL)。
  • データソースとデータシンク: BigQuery、Cloud Storage、他のクラウドサービスやオンプレミスシステム。
  • ストリーミングデータ処理: ストリーミング取込み、ストリーミング中の分析。
  • データタイプ: 構造化、半構造化、非構造化データ。

BigQueryとは?

  • ユースケース: SQLで完結できるデータ処理に適しています。大規模データセットの分析とレポート作成に最適。
  • 言語: SQL。
  • データソースとデータシンク: BigQueryのストレージ、BigQueryの外部テーブルとして指定したCloud StorageやCloud Bigtableなど。
  • ストリーミングデータ処理: ストリーミング取込み、ストリーミング中の分析。
  • データタイプ: 主に構造化データや半構造化データ。

Dataproc / Dataflow / BigQueryの比較

  • Dataprocは、既存のHadoopやSparkの知識を活かし、フレキシブルなクラスタ管理が必要な場合に最適です。
  • Dataflowは、複雑なストリーミング処理やバッチ処理を簡単に記述でき、GCP上でのスケーラブルなデータ処理に適しています。
  • BigQueryは、大規模な分析作業に適した、高速かつスケーラブルなデータウェアハウスです。SQLによるデータ操作が中心です。

Dataproc / Dataflow / BigQueryのサービスを選択する際には、データの種類、処理の複雑さ、必要なリソース、および既存の技術スタックを考慮することが重要です。

【練習問題】Dataproc / Dataflow / BigQueryの比較

練習問題1

問題: 大規模なログデータを毎日分析する必要があります。このデータは主に構造化されており、SQLクエリでの処理が可能です。どのサービスを使うのが最適でしょうか?

  • A. Dataproc
  • B. Dataflow
  • C. BigQuery

解答: C. BigQuery

解説: BigQueryは構造化データの分析に最適で、SQLクエリを利用して大規模なデータセットの分析とレポート作成が可能です。データの構造化とSQL処理の要件を考えると、BigQueryが最適です。

練習問題2

問題: リアルタイムでセンサーデータを処理し、そのデータをさまざまなソースから取り込んで、即時に分析する必要があります。どのサービスが適していますか?

  • A. Dataproc
  • B. Dataflow
  • C. BigQuery

解答: B. Dataflow

解説: Dataflowはリアルタイムのストリーミング処理に適しており、Apache Beamを使用して複雑なデータ処理を実行できます。センサーデータのようなストリーミングデータの即時処理にはDataflowが適しています。

練習問題3

問題: ある会社は、Apache Sparkを利用したデータ処理に慣れています。GCPでクラスタ管理の自由度を保ちつつ、データ処理を行いたいと考えています。最も適したサービスは何でしょうか?

  • A. Dataproc
  • B. Dataflow
  • C. BigQuery

解答: A. Dataproc

解説: DataprocはApache HadoopやSparkを使い慣れたユーザーに適しており、クラスタ管理の柔軟性を提供します。Apache Sparkを既に使っているユーザーにとっては、Dataprocが最適な選択肢です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA