GCP Professional Data Engineer 教科書
**Google Cloud Certified Professional Data Engineer** は Google Cloud(GCP)上のデータエンジニアリング **Professional レベル** 認定。**BigQuery ・ Dataflow ・ Dataproc ・ Pub/Sub ・ Cloud Composer ・ Cloud Storage ・ Bigtable ・ Spanner ・ Looker ・ Dataplex** を **データシステムの設計 ・ 取込 / 変換 ・ 保管 ・ 分析 / ML 統合 ・ 信頼性 / 自動化 / 監視 ・ セキュリティ / コンプライアンス** で問います。**AWS DEA-C01 ・ Azure DP-203** と並ぶ三大クラウド Data Engineer 認定の 1 つ。本教科書は 10 章で出題範囲を体系的にカバーします。
目次
- 第 1 章 · GCP Data Engineer ─ 試験の全体像試験形式・出題範囲・他 GCP 認定との位置付けを整理します。
- 第 2 章 · BigQuery ─ GCP データプラットフォームの中心BigQuery のアーキテクチャ ・ 課金 ・ 分割テーブル ・ クラスタリングを整理します。
- 第 3 章 · BigQuery 高度機能Materialized View ・ BI Engine ・ BQML ・ Object Tables を整理します。
- 第 4 章 · Cloud Storage と Bigtable / SpannerGCS の階層 ・ Bigtable のスキーマ設計 ・ Spanner の特徴を整理します。
- 第 5 章 · Dataflow ─ Apache Beam による ETLApache Beam の概念 ・ Dataflow Templates ・ Streaming を整理します。
- 第 6 章 · Pub/Sub と StreamingPub/Sub の Topic / Subscription と配信保証を整理します。
- 第 7 章 · Dataproc ─ Spark / Hadoop マネージドDataproc Cluster ・ Serverless Spark ・ Workflow Templates を整理します。
- 第 8 章 · Cloud Composer と Workflowsオーケストレーションの 3 大選択肢を整理します。
- 第 9 章 · Looker / Looker Studio と BIBI ツール 2 種と LookML / Explore を整理します。
- 第 10 章 · Dataplex ・ ガバナンス ・ セキュリティDataplex ・ DLP ・ VPC Service Controls ・ CMEK を整理します。
第 1 章 · GCP Data Engineer ─ 試験の全体像
試験の位置付け
GCP Professional Data Engineer は Professional レベル で GCP データエンジニアリングの最重要認定。BigQuery 中心の GCP データプラットフォーム を理解し、取込 ・ 変換 ・ 保管 ・ 分析 ・ ML 統合 ・ ガバナンス を設計実装できることを測ります。
- 主催: Google Cloud
- 形式: CBT(Kryterion)or オンライン監督受験
- 問題数 / 時間: 50〜60 問 / 120 分
- 回答方式: 単一選択 + 複数選択 + ケーススタディ
- 合格スコア: 非公開(70% 程度が目安)
- 有効期限: 2 年
- 受験料: 200 USD(参考)
- 前提知識: SQL ・ Python / Java ・ GCP 基本(Cloud Engineer 相当)
GCP データ系認定の位置付け
- Foundational: Cloud Digital Leader
- Associate: Associate Cloud Engineer / Associate Data Practitioner
- Professional(Data Engineer、本資格): GCP DE の主力
- Professional(ML Engineer): ML 特化の上位
出題ドメインと推奨学習プラン
公式試験ガイドのドメイン
- データ処理システムの設計(22%)
- データの取込 ・ 処理(25%)
- データの保管(20%)
- 分析 ・ AI 用のデータの準備(15%)
- ワークフロー ・ 信頼性 ・ 自動化(18%)
100 〜 200 時間プラン
- Week 1〜2: GCP 基本 + Cloud Storage + IAM
- Week 3〜4: BigQuery(分割表 / クラスタリング / マテビュー / BQML)
- Week 5〜6: Dataflow + Dataproc + Pub/Sub
- Week 7〜8: Cloud Composer + Bigtable + Spanner + Looker
- Week 9〜10: 模擬試験 + 公式 Skill Boost
GCP のデータ基盤は BigQuery を中心 に、取込は Pub/Sub + Dataflow / Storage Transfer、ETL は Dataflow(Apache Beam)、ML は BQML / Vertex AI、可視化は Looker という構成が王道。サーバレス志向 で運用負荷が低いのが GCP の強み。
第 2 章 · BigQuery ─ GCP データプラットフォームの中心
アーキテクチャと課金
BigQuery は サーバレス ・ 列指向 ・ MPP 型 DWH。Storage と Compute が完全分離 され独立にスケール。Dremel エンジン(Google 内部 PB 級分析の派生)と Colossus(分散ストレージ) で構成。
課金モデル
- On-demand クエリ: スキャン量 6.25 USD / TB(リージョンにより異なる)
- Capacity-based(Editions): Slot 単位の月額(Standard / Enterprise / Enterprise Plus)
- Storage: Active(0.02 USD/GB)と Long-term(0.01 USD/GB、90 日未更新で自動移行)
- Streaming Insert: 0.01 USD / 200MB(現在は BigQuery Storage Write API が推奨)
分割テーブル(Partitioned)とクラスタリング
分割テーブル
- Time-Unit Column: DATE / TIMESTAMP / DATETIME 列で分割(時間 ・ 日 ・ 月 ・ 年)
- Ingestion Time: 取込時刻で自動分割(`_PARTITIONTIME`)
- Integer Range: 整数列の範囲で分割
- Partition Pruning: WHERE 句で対象パーティションのみスキャン
- 最大 4000 パーティション / テーブル
クラスタリング
- 最大 4 列までクラスタキー指定
- ブロック単位のソート + メタデータ
- Block Pruning で WHERE / JOIN / GROUP BY を高速化
- 分割 + クラスタリング併用 が定石
**`SELECT *` 禁止 ・ 必要列のみ ・ WHERE で分割列とクラスタ列を絞る の 3 つで スキャン量を 90% 以上削減 可能。`bq query --dry_run` で事前にスキャン量を確認** する習慣が必須。
第 3 章 · BigQuery 高度機能
Materialized View と BI Engine
Materialized View(マテビュー)
- 集計結果を物理的に保存 + 自動増分更新
- スマートルーティング: 元クエリを自動で MView に書き換え
- JOIN ・ サブクエリも対応(2024 以降)
- 頻繁な集計クエリのコストを 90% 以上削減
BI Engine
- インメモリ高速分析エンジン(BigQuery 内蔵)
- Looker Studio / 外部 BI ツールから自動利用
- サブセカンドクエリ応答
- 予約 GB 単位の月額課金
BQML と Object Tables
BQML(BigQuery ML)
- SQL でモデル学習 / 推論(`CREATE MODEL`)
- Linear / Logistic / Boosted Tree / DNN / AutoML / Time Series(ARIMA+) をサポート
- Vertex AI モデル ・ Gemini も BQML 経由で呼び出し可能(`ML.GENERATE_TEXT` 等)
- ML.PREDICT / ML.EVALUATE / ML.EXPLAIN_PREDICT で評価 ・ 解釈
Object Tables(非構造化データ統合)
- Cloud Storage 上の画像 / 動画 / PDF を BigQuery のテーブルとして扱う
- ML.GENERATE_TEXT / ML.PROCESS_DOCUMENT で生成 AI と統合
- マルチモーダル分析の中核
第 4 章 · Cloud Storage と Bigtable / Spanner
Cloud Storage(GCS)
ストレージクラス
- Standard: 高頻度アクセス、最高コスト
- Nearline: 月 1 回未満アクセス、最低 30 日保管
- Coldline: 90 日に 1 回未満、最低 90 日保管
- Archive: 年 1 回未満、最低 365 日保管
- Object Lifecycle: 一定日数経過で自動階層遷移 ・ 削除
アクセス制御
- Uniform bucket-level access: IAM のみ(推奨 ・ 新規デフォルト)
- Fine-grained access: IAM + ACL 併用(レガシー)
- Signed URL: 一時的に署名付きアクセス
- VPC Service Controls: VPC 境界でデータ持出を防止
Bigtable と Spanner
Bigtable
- ペタバイト級 NoSQL ・ 単一行 ACID
- HBase API 互換
- スキーマ設計: ホットスポット回避(行キーは時系列の昇順を避ける)
- 用途: 時系列メトリクス / IoT / 金融取引履歴
Spanner
- グローバル分散 RDB ・ ACID + 強整合 + 水平スケール
- TrueTime API による線形化保証
- Interleaved Tables: 親子テーブルの物理的局所性
- 用途: グローバル金融 ・ 在庫管理 ・ 大規模トランザクション
- コスト: ノード単位の月額(Bigtable より高単価)
第 5 章 · Dataflow ─ Apache Beam による ETL
Apache Beam の基本
Dataflow は Apache Beam ベースのフルマネージド ETL ・ ストリーム処理。バッチとストリームを同一コード で扱える(Unified Model)。
Beam の中核概念
- Pipeline: 全体の処理グラフ
- PCollection: 不変の分散データセット
- PTransform: PCollection を変換する操作(ParDo / GroupByKey / Window)
- Window: イベント時刻でデータを分割(Fixed / Sliding / Session)
- Trigger: ウィンドウの結果を出力するタイミング
- Watermark: イベント時刻の進行度
Dataflow Templates と Runner
Templates
- Classic / Flex Templates: パラメータ化された Dataflow ジョブを再利用
- Google 提供 Templates: Pub/Sub→BigQuery / GCS→BigQuery / JDBC→BigQuery など多数
- 起動が高速(コンパイル不要)
Streaming Engine と Shuffle Service
- Streaming Engine: ストリーム処理の状態を Worker から分離 → 自動スケール ・ 信頼性向上
- Shuffle Service: バッチのシャッフルを別サービスに分離 → メモリ ・ ディスク負荷軽減
- いずれもデフォルトで有効化推奨
サーバレス ・ Beam モデル ・ ストリーム ・ バッチ統合 なら Dataflow。既存 Spark / Hadoop 資産 ・ Hive ・ Presto なら Dataproc。新規プロジェクトはほぼ Dataflow + BigQuery が王道。
第 6 章 · Pub/Sub と Streaming
Pub/Sub の基本
- Topic: メッセージのパブリッシュ先
- Subscription: メッセージを取り出す単位(同一 Topic に複数 Subscription)
- Pull / Push: Subscriber がポーリング or HTTPS Push で受信
- 配信保証: At-least-once(デフォルト)、Exactly-once delivery(オプション)
- Ordering Key: 順序保証が必要な場合に指定
- Dead Letter Topic: 配信失敗メッセージの隔離
Pub/Sub Lite と Pub/Sub BigQuery Subscription
- Pub/Sub Lite: ゾーン単位の低コスト版(Pub/Sub の 1/10 コスト)、Kafka 互換
- BigQuery Subscription: Pub/Sub から BigQuery へ直接書込(Dataflow 不要)
- Cloud Storage Subscription: GCS へ直接書込
サーバレス ・ GCP ネイティブ統合 ・ グローバル なら Pub/Sub。Kafka エコシステム(Connect / KSQL / Schema Registry)を活かしたい なら GKE 上の Confluent Cloud / Strimzi を検討。
第 7 章 · Dataproc ─ Spark / Hadoop マネージド
Dataproc Cluster
- Hadoop / Spark / Hive / Presto / Pig / Tez を 90 秒で起動
- Master + Worker + Preemptible(Secondary)Worker 構成
- Initialization Actions: 起動時のカスタムスクリプト
- Optional Components: Jupyter / Zeppelin / Druid / Flink
- Autoscaling: Workload に応じて Worker 数を調整
Dataproc Serverless と Workflow
Dataproc Serverless for Spark
- クラスタプロビジョニング不要 ・ サーバレス で PySpark / Spark SQL を実行
- バッチワークロードに最適
- BigQuery / GCS 直接読書き ・ Dataproc Metastore 連携
Workflow Templates
- ジョブの DAG をテンプレート化 し再利用
- Cluster Selector: 既存クラスタ ・ 新規エフェメラルクラスタを選択
- Cloud Composer / Cloud Scheduler から起動可能
第 8 章 · Cloud Composer と Workflows
Cloud Composer
- Apache Airflow フルマネージド版(Python の DAG)
- GKE 上で動作、ただし Composer 2 / 3 ではユーザーから隠蔽
- Operators: BigQuery / Dataflow / Dataproc / GCS など豊富
- Sensors: 外部条件待ち(ファイル到着 / BQ パーティション)
- 長年の Airflow 資産 ・ 豊富な Operators が強み
Workflows と Cloud Scheduler
Workflows
- サーバレス ・ YAML / JSON でステートマシン定義
- GCP サービスを HTTP で連携
- Step Functions に相当する GCP サービス
- Composer より軽量 ・ コスト最適
Cloud Scheduler
- Cron 形式の定期実行
- HTTP / Pub/Sub / App Engine をターゲット
- Workflows / Cloud Functions / Cloud Run と組合せ で簡易オーケストレーション
Python DAG ・ 複雑な依存関係 ・ Operators 活用 なら Composer。サーバレス ・ シンプル ・ HTTP 中心 ・ コスト重視 なら Workflows。両者を併用(Composer から Workflows を呼ぶ)も可能。
第 9 章 · Looker / Looker Studio と BI
Looker と LookML
- Looker: エンタープライズ BI、LookML(モデリング言語)で意味層を定義
- Explore / View / Model: 階層構造でデータモデル管理
- バージョン管理: Git 連携で LookML をコード管理
- Looker Modeler: BigQuery など外部 BI ツールでも LookML を活用
Looker Studio(旧 Data Studio)
- 無料 BI ツール(個人 ・ チーム向け)
- BigQuery / Sheets / SaaS 多数のコネクタ
- BI Engine 連携で高速応答
- Looker Studio Pro: 組織管理 ・ サポート ・ Looker 連携
エンタープライズ ・ 意味層 ・ 大規模ガバナンス なら Looker。簡易ダッシュボード ・ 個人 ・ 無料 なら Looker Studio。Power BI / Tableau に相当する GCP の BI 二兎。
第 10 章 · Dataplex ・ ガバナンス ・ セキュリティ
Dataplex とデータガバナンス
Dataplex は GCP の Data Mesh / データガバナンス統合プラットフォーム。Lake / Zone / Asset の 3 階層で物理ロケーションを抽象化。
- Lake: ビジネスドメイン単位
- Zone: Raw(生)・ Curated(整形済)などのデータ階層
- Asset: GCS Bucket / BigQuery Dataset を Zone 配下に登録
- Data Catalog 統合: メタデータ自動検出 ・ 検索 ・ Lineage
- Data Quality: ルールベースの品質チェック
- Auto Discovery: Hive スタイルパーティションを自動認識し BigQuery 外部テーブル作成
DLP ・ VPC Service Controls ・ CMEK
DLP(Sensitive Data Protection)
- 150+ infoType(クレジットカード ・ 氏名 ・ 住所 ・ パスポート等)を ML ベースで自動検出
- De-identification: マスキング ・ ハッシュ化 ・ 形式保存暗号化
- BigQuery / GCS / Datastream に統合
VPC Service Controls
- サービス境界(perimeter) で BigQuery / GCS / Pub/Sub の API を保護
- 境界外からのアクセス遮断 + Access Levels で細かい例外設定
- データ持出(exfiltration)対策の中核
CMEK / CSEK
- CMEK: Customer-Managed Encryption Key(Cloud KMS で管理)
- CSEK: Customer-Supplied Encryption Key(顧客自身が鍵を持つ)
- BigQuery / GCS / Compute / Pub/Sub すべてに適用可能
直前 1 週間: Skill Boost の Data Engineer Learning Path を再走 + サービス選び分け表(Dataflow vs Dataproc、Pub/Sub vs Pub/Sub Lite、Composer vs Workflows、Bigtable vs Spanner)を頭に焼き付ける。当日: 問題文の 『リアルタイム』『コスト最小』『グローバル』『サーバレス』『PB 級』 といったキーワードに反応してサービス即決。