皆様、こんにちは!
DX開発事業部 クロスイノベーションセクション スマホグループの楊林です。
最近、3番目のGoogle Cloud資格、Google Cloud Professional Data Engineer(PDE)をようやく取得しました。
資格受験の準備中に、こう感じましたー
Dataflow、Dataproc、Dataplex、Dataprep、Datastream、Dataform、なんかみんな名前が似ていて、機能も少し似てる。
そして練習問題では一緒に出てくることも多くて、区別しにくいなぁ〜〜。
では、これらの違いを少し整理してみましょう。
Dataflow
DataflowはApache Beamをベースにした、データ処理パイプラインを実行する完全マネージドサービスです。ストリーミング処理とバッチ処理の両方に対応できるデータ処理エンジンです。
Dataflowの重要な役割は、データの変換・集計・クレンジングなど、実際に処理を行うことです。体感的には、これらのDataXXXX系ツールの中で、練習問題に最も登場するツールのひとつな気がします。
Dataflowはコーディング主体のツールです。「ローコード」「ノーコード」「技術に詳しくない」といったキーワードが問題に出た場合、基本的に正解にはなりません。
Dataflowには、ストリーミングデータを時間や条件で区切る単位として ウィンドウ があります。主に三種類です:
- 固定ウィンドウ:時間的に固定で重ならない。固定間隔での定期集計に向く。
- スライディングウィンドウ:時間的に固定だが重なりがある。過去一定期間のデータを定期的に更新する場合に適する。
- セッションウィンドウ:イベント駆動で時間が変動する。ユーザー行動分析やセッション集計に適する。

ウィンドウ後に遅れて到着するデータもあります。これらを正しく集計するために、ウォーターマーク という許容時間の概念があります。
Dataprep
Dataprepはデータ準備や品質検証に使うツールです。試験ではDataflowと一緒に出ることが多いです。
Dataprepの特徴は、ローコード/ノーコードでデータ探索・クレンジング・検証ができることです。Dataflowと違い、プログラミングスキルがそれほど必要ない場面に適します。
Dataproc
DataprocはマネージドHadoop/Sparkクラスターサービスです。Apache Hadoop、Spark、Hiveなどのビッグデータツールをクラウド上で簡単に利用できます。
バッチ処理・ETL・ストリーミング処理に適用できますが、サーバーレスではないことに注意してください。サーバーレスのキーワードが出たらDataprocでは正解になりません。
Dataplex
DataplexはCloud Storage、BigQuery、その他のデータソースに分散したデータを統合的に管理・発見・監視・統治するインテリジェントデータファブリックです。
Dataplexに階層の概念があって、階層は Lake / Zone / Asset の3つがあります。
Zoneは機能により区分されます。代表的なのは:
- raw:未加工データの保管場所で、自動検出対象になる。
- curated:処理済み・構造化データの保管場所で、自動検出されていない場合はrawに移行するのが良い方法。
Dataplexを利用する際のIAM管理ベストプラクティスは、BigQueryデータセットやCloud Storageバケットの権限を直接管理する代わりに、Dataplexリソース(レイク、ゾーン、アセット)に対して権限を付与することです。
Datastream
Datastreamはデータベース(Cloud SQLなど)からBigQueryへ、変更データキャプチャ(CDC) を利用して低レイテンシかつ低負荷でデータを継続的にレプリケートするサービスです。
データのレプリケーション作成時に役立ちます。
Dataform
Dataformはデータ変換パイプライン(ELT)を開発・テスト・バージョン管理・デプロイ・スケジュールするためのサーバーレスサービスです。
Dataprocと違い、サーバーレスのキーワードに注意しましょう。また、SQLベースなので、SQLに熟練している場合に適します。「技術があまり分からない」場合には向きません。
まとめ
以上は私がPDE試験準備中に整理した内容です。
これからPDE試験に挑戦する方の参考になれば幸いです。