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が最適な選択肢です。
▼AIを使った副業・起業アイデアを紹介♪