本文へスキップ
統計ロードマップ
Textbook

Microsoft Azure Data Engineer Associate(DP-203)教科書

**Microsoft Certified: Azure Data Engineer Associate(DP-203)** は **Azure 上のデータエンジニアリングを設計 ・ 実装 ・ 運用** する Associate 認定。**Synapse Analytics ・ Data Factory ・ Databricks ・ Stream Analytics ・ Event Hubs ・ ADLS Gen2 ・ Cosmos DB ・ Purview** など Azure データプラットフォームの中核サービスを **取込 ・ 変換 ・ 保管 ・ 配信 ・ 監視 ・ ガバナンス** で問います。**AWS DEA-C01 ・ GCP Professional Data Engineer** と並ぶ三大クラウドの Data Engineer 認定の 1 つ。本教科書は 10 章で出題範囲を体系的にカバーします。

目次

  1. 1 章 · DP-203 ─ 試験の全体像
    試験形式・出題範囲・他 Azure データ系認定との位置付けを整理します。
  2. 2 章 · ADLS Gen2 とストレージ基礎
    Azure Data Lake Storage Gen2 ・ Blob Storage ・ Cosmos DB を整理します。
  3. 3 章 · Azure Synapse Analytics
    Synapse の 3 つのプール(Dedicated SQL / Serverless SQL / Spark)を整理します。
  4. 4 章 · Azure Data Factory(ADF)
    Pipeline ・ Activity ・ Linked Service ・ Mapping Data Flow を整理します。
  5. 5 章 · ストリーム処理 ─ Event Hubs と Stream Analytics
    Event Hubs ・ IoT Hub ・ Stream Analytics を整理します。
  6. 6 章 · Azure Databricks
    Databricks Workspace ・ Delta Lake ・ Auto Loader を整理します。
  7. 7 章 · Lake Database と Medallion Architecture
    Lake Database ・ Bronze/Silver/Gold ・ Delta Live Tables を整理します。
  8. 8 章 · Power BI と Synapse 連携
    Power BI と Synapse の DirectQuery ・ Aggregation を整理します。
  9. 9 章 · 監視 ・ パフォーマンスチューニング
    Azure Monitor ・ Log Analytics ・ クエリ最適化を整理します。
  10. 10 章 · セキュリティ ・ ガバナンス
    Microsoft Purview ・ Managed Identity ・ Private Link を整理します。
Chapter 1

1 章 · DP-203 ─ 試験の全体像


§1.1

試験の位置付け

DP-203 は Azure における データエンジニア専用の Associate 認定DP-100(Data Scientist)・ AI-102(AI Engineer)・ DP-300(DBA) などとは出題範囲が異なり、バッチ ETL ・ ストリーミング ・ DWH ・ Lake ・ ガバナンス に特化。

  • 主催: Microsoft
  • 形式: CBT(Pearson VUE)or オンライン監督受験
  • 問題数 / 時間: 40〜60 問 / 100 分(参考)
  • 回答方式: 単一選択 + 複数選択 + ドラッグ & ドロップ + ケーススタディ
  • 合格スコア: 700 / 1000
  • 有効期限: 1 年(無料更新試験あり)
  • 受験料: 165 USD(参考)
  • 前提知識: SQL ・ Python / Scala ・ Azure 基本

Azure データ系認定の位置付け

  • Fundamentals: DP-900(データの基礎)
  • Associate(DBA): DP-300(Azure SQL ・ DBA)
  • Associate(Data Scientist): DP-100
  • Associate(Data Engineer): DP-203(本資格)
§1.2

出題ドメインと推奨学習プラン

公式試験ガイドのスキル領域

  1. データストレージの設計 ・ 実装(15〜20%)
  2. データ処理の設計 ・ 開発(40〜45%)
  3. データセキュリティの設計 ・ 実装(10〜15%)
  4. データストレージ ・ 処理の監視 ・ 最適化(25〜30%)

100 〜 200 時間プラン

  1. Week 1〜2: Azure 基本 + ADLS Gen2 + Cosmos DB
  2. Week 3〜4: Synapse Analytics(Dedicated SQL Pool / Spark Pool / Serverless)
  3. Week 5〜6: Data Factory(Pipeline / Mapping Data Flow)
  4. Week 7〜8: Stream Analytics + Event Hubs + Databricks
  5. Week 9〜10: 模擬試験 + Microsoft Learn DP-203 ラーニングパス
DP-203 の本質は『Synapse + Data Factory』

Synapse Analytics は DWH + Spark + Serverless SQL を 1 つの Workspace に統合した Microsoft の主力サービス。Data Factory はオーケストレーション ・ Pipeline ・ Mapping Data Flow を提供。この 2 つを軸に、Streaming は Stream Analytics / Event Hubs、Lake は ADLS Gen2、ML 連携は Databricks で補完するのが Azure データエンジニアリングの王道構成。

Chapter 2

2 章 · ADLS Gen2 とストレージ基礎


§2.1

ADLS Gen2 の特徴

Azure Data Lake Storage Gen2(ADLS Gen2)Blob Storage 上に構築された階層型ファイルシステムHierarchical Namespace(HNS) を有効化することで POSIX ACL ・ ディレクトリ操作の原子性をサポート。

  • Hierarchical Namespace: フォルダがファーストクラス、`mv` `rename` が原子的
  • ACL: POSIX 形式(rwx)+ デフォルト ACL の継承
  • アクセス階層: Hot / Cool / Cold / Archive
  • Lifecycle Policy: 一定日数経過後に自動階層遷移 ・ 削除
  • ABFS ドライバ: Spark / Hadoop からは `abfss://` プロトコルで接続
Blob と ADLS Gen2 の使い分け

HNS なし(従来 Blob)= オブジェクトストレージHNS 有り(ADLS Gen2)= 階層型ファイルシステム分析(Synapse / Databricks / Hadoop)用途は ADLS Gen2 一択。一般オブジェクト保管(Web 静的アセットなど)は HNS なし Blob。HNS は後から有効化可能だが無効化は不可

§2.2

Cosmos DB

Azure Cosmos DB はグローバル分散 NoSQL。5 つの API(NoSQL / MongoDB / Cassandra / Gremlin / Table)と 5 つの整合性レベル を提供。

5 つの整合性レベル

  • Strong: 線形化、最も厳格 ・ 高レイテンシ
  • Bounded Staleness: K 操作 / T 時間以内の遅延を保証
  • Session: 同一セッションで read your writes(デフォルト ・ 推奨)
  • Consistent Prefix: 操作順序のみ保証
  • Eventual: 最終整合 ・ 最低レイテンシ ・ 最高可用性

パーティションキーの選び方

  • カーディナリティが高い(値の種類が多い)
  • 読込 ・ 書込が均等に分散 する
  • 論理パーティション 1 つあたり 20GB ・ 10000 RU/s 上限
  • ホットパーティション はアプリ全体の性能を律速する
Chapter 3

3 章 · Azure Synapse Analytics


§3.1

Dedicated SQL Pool

Dedicated SQL Pool(旧 SQL DW)は Synapse の MPP 型 DWHDWU(Data Warehouse Unit)単位で Pause / Resume 可能。

テーブル分散方式

  • Hash Distribution: 指定列でハッシュ分散、大規模ファクトテーブル向け
  • Round-Robin: 均等分散、ステージングテーブル向け
  • Replicated: 全 Distribution に複製、小規模ディメンション向け(2GB 未満が目安)

インデックスとパーティション

  • Clustered Columnstore Index(CCI): デフォルト ・ 高圧縮 ・ スキャン高速
  • Heap: ステージング ・ ロード中継用
  • Partition: 日付列 ・ 月単位でパーティション化、Switch でパーティション入替
§3.2

Serverless SQL Pool と Spark Pool

Serverless SQL Pool

  • Pay-per-query(処理データ量 5 USD/TB 程度)
  • ADLS Gen2 上の Parquet / Delta / CSV / JSON に直接 SQL
  • OPENROWSET / EXTERNAL TABLE / VIEW で抽象化
  • Athena に相当する Azure サービス

Spark Pool

  • Apache Spark フルマネージド(自動スケール ・ 自動シャットダウン)
  • Delta Lake / Hive / Parquet をネイティブサポート
  • Notebook(Synapse Studio) + パイプライン連携
  • Spark Pool で書いたテーブルが Serverless SQL Pool から自動的に見える(Lake Database)
Synapse 3 プールの使い分け

継続的に動く DWH(BI ダッシュボード)= Dedicated SQL Pool。アドホック ・ 探索的(時々 Lake にクエリ)= Serverless SQL Pool。ETL ・ ML 前処理 ・ Notebook= Spark Pool。3 つを単一 Workspace で行き来できる のが Synapse の最大の利点。

Chapter 4

4 章 · Azure Data Factory(ADF)


§4.1

ADF の構成要素

  • Linked Service: データソース ・ 計算先への接続定義
  • Dataset: Linked Service 上の特定データセット定義
  • Pipeline: Activity を組み合わせた実行単位
  • Activity: 単一処理(Copy / Lookup / ForEach / If など)
  • Trigger: 実行スケジュール(Time / Tumbling Window / Storage Event)
  • Integration Runtime(IR): 実行エンジン(Azure / Self-hosted / SSIS)
§4.2

Mapping Data Flow

Mapping Data Flow は ADF 内で動く GUI ベース Spark ETL。コード書きが不要で複雑なデータ変換を視覚的に構築。

主な Transformation

  • Source / Sink: データソース ・ 出力先
  • Derived Column: 列追加 ・ 演算
  • Aggregate: GROUP BY 集計
  • Join / Lookup: テーブル結合
  • Conditional Split: 条件分岐で行を振り分け
  • Window: 行番号 ・ 移動平均などのウィンドウ関数
Pipeline vs Mapping Data Flow

Pipeline は『ジョブのオーケストレーション』、Mapping Data Flow は『データ変換そのもの』。Pipeline 内の 1 Activity として Mapping Data Flow を呼ぶ構成が定石。Mapping Data Flow は裏で Spark クラスタを起動するため、起動オーバーヘッドあり頻繁に走らせるなら Always-on の Spark Pool 推奨

Chapter 5

5 章 · ストリーム処理 ─ Event Hubs と Stream Analytics


§5.1

Event Hubs と IoT Hub

Event Hubs

  • ビッグデータ向けストリーム取込基盤(Kafka 互換 API も提供)
  • Partition: 並列度の単位(2 〜 32)
  • 保持期間: 1 日(Standard)〜 90 日(Premium / Dedicated)
  • Capture: ADLS Gen2 / Blob へ自動書き出し
  • Throughput Unit / Processing Unit: 課金単位

IoT Hub

  • IoT デバイス → クラウドの双方向通信 に特化
  • Device Twin / Direct Method / Cloud-to-Device 機能
  • ルーティング: メッセージを Event Hubs / Blob / Service Bus へ振り分け
§5.2

Azure Stream Analytics

Azure Stream AnalyticsSQL ライク言語(SAQL)で書くリアルタイム ETL。Event Hubs / IoT Hub から取得 → 変換 → Synapse / Power BI / Cosmos DB / ADLS へ配信。

ウィンドウ関数

  • Tumbling Window: 重複なし ・ 隙間なしの固定時間ウィンドウ
  • Hopping Window: 重複あり ・ 一定間隔のウィンドウ
  • Sliding Window: イベントが起こるたびにウィンドウ生成
  • Session Window: 一定時間内の連続イベントを 1 ウィンドウに
  • Snapshot Window: タイムスタンプ単位の集計
Stream Analytics vs Databricks Streaming

Stream Analytics は SQL でサクッと書く ・ サーバレスDatabricks Streaming は Python/Scala で複雑な処理 ・ ML 連携Stream Analytics は Streaming Unit(SU)単位、Databricks は Cluster の DBU 単位 で課金。

Chapter 6

6 章 · Azure Databricks


§6.1

Databricks Workspace

  • Workspace: ノートブック ・ ジョブ ・ クラスタ ・ ライブラリの統合環境
  • Cluster: All-Purpose(対話)・ Job(自動起動 ・ 終了)
  • SQL Warehouse: Photon エンジンで BI クエリを高速化
  • Unity Catalog: テーブル ・ ビュー ・ 関数のメタデータ ・ アクセス管理
  • Repos: Git 連携でコードバージョン管理
§6.2

Delta Lake と Auto Loader

Delta Lake の主要機能

  • ACID トランザクション: 同時書込での整合性
  • Time Travel: VERSION AS OF / TIMESTAMP AS OF で過去スナップショット
  • MERGE / UPDATE / DELETE: Lake にトランザクショナル DML
  • Z-Order: 多次元クラスタリングでスキャン削減
  • OPTIMIZE / VACUUM: 小ファイル統合 ・ 古いファイル削除

Auto Loader

  • ADLS Gen2 / S3 上の新着ファイルを自動検出して取込
  • ディレクトリリスト方式 / イベント通知方式 の 2 モード
  • スキーマ進化: 新列 / 型変更を自動追従
  • Bronze 層への取込で標準的に使われる
Chapter 7

7 章 · Lake Database と Medallion Architecture


§7.1

Medallion Architecture

Medallion Architecture(Bronze / Silver / Gold)データ品質を段階的に向上させる Lake 設計パターン。Databricks 提唱、業界標準。

  • Bronze: 生データを到着順にそのまま保存(無加工)
  • Silver: クレンジング ・ 結合 ・ 重複排除済みのクリーンデータ
  • Gold: ビジネス指標 ・ ダッシュボード ・ ML 用の集計済データ
  • 変換は Delta Lake トランザクションで行うのが標準
§7.2

Delta Live Tables(DLT)

Delta Live Tables は Databricks の 宣言的データパイプラインフレームワークSQL or Python でテーブル定義 → DLT が依存関係 ・ 増分処理 ・ データ品質チェックを自動管理

  • Streaming Live Table / Live Table を関数で定義
  • Expectations: データ品質ルール(`@dlt.expect_or_drop`)
  • 自動スケール ・ 自動リカバリ ・ DAG 可視化
  • Bronze → Silver → Gold パイプラインの実装に最適
Chapter 8

8 章 · Power BI と Synapse 連携


§8.1

Power BI 接続モード

  • Import: Power BI にデータをコピー、最高速 ・ サイズ上限あり
  • DirectQuery: クエリのたびにソースに問合せ、リアルタイム ・ 遅め
  • Composite Model: 一部 Import + 一部 DirectQuery
  • Aggregations: 集計を Import、明細を DirectQuery で自動切替
§8.2

Synapse Link for Cosmos DB / Dataverse

  • Synapse Link for Cosmos DB: トランザクションシステムを ETL なしで分析
  • Synapse Link for Dataverse: Dynamics 365 / Power Platform データを Synapse へ
  • HTAP(Hybrid Transactional/Analytical Processing) を実現
  • ETL コピーが不要 → リアルタイム分析 ・ コスト最適
Chapter 9

9 章 · 監視 ・ パフォーマンスチューニング


§9.1

Azure Monitor と Log Analytics

  • Metrics: CPU / DWU / クエリ時間 / 失敗率
  • Logs(Log Analytics): KQL で詳細ログ検索
  • Alerts: メトリクス / ログベースで通知
  • Application Insights: アプリケーションパフォーマンス監視
  • Action Groups: メール / SMS / Webhook / Logic Apps へ転送
§9.2

クエリ最適化

Synapse Dedicated SQL Pool

  • 統計情報を自動更新(AUTO_CREATE_STATISTICS / AUTO_UPDATE_STATISTICS)
  • Workload Management(Workload Group / Classifier) でクエリの優先度 ・ リソース割当
  • Result Set Cache で同一クエリ高速化
  • Materialized View で集計を事前計算

Spark Pool

  • Auto Scale: ノード数を動的に調整
  • Intelligent Cache: 頻出データをノード SSD にキャッシュ
  • Adaptive Query Execution(AQE): 実行時に Plan 最適化
Chapter 10

10 章 · セキュリティ ・ ガバナンス


§10.1

Microsoft Purview

Microsoft Purviewデータカタログ + データガバナンス の Azure 統合ソリューション。Data Map ・ Data Catalog ・ Data Insights ・ Data Policy の 4 層構造。

  • Data Map: スキャナでメタデータ自動収集(Synapse / Cosmos / SQL / Power BI / 多数)
  • Data Catalog: ビジネス用語集 ・ Glossary ・ 検索
  • Data Lineage: ETL の系譜を可視化
  • Data Sensitivity Labels: 機密度ラベルの自動付与
  • Data Policy: アクセスポリシーを Catalog 単位で管理
§10.2

セキュリティの実装

認証 ・ ネットワーク

  • Managed Identity: シークレット不要で他 Azure リソースへアクセス
  • Private Endpoint: Synapse / Storage / Cosmos を VNet 内に閉じ込める
  • Customer-Managed Keys(CMK): BYOK で暗号化
  • Always Encrypted with Secure Enclaves: 機密列をクライアント側で暗号化

列 ・ 行 ・ Dynamic Data Masking

  • Column-Level Security: GRANT で列単位アクセス制御
  • Row-Level Security(RLS): セキュリティポリシーで行単位フィルタ
  • Dynamic Data Masking: クエリ時にロールベースで列をマスク
DP-203 受験の最終チェック

直前 1 週間: Microsoft Learn の DP-203 ラーニングパスを再走 + Synapse 3 プールの使い分け表 + Stream Analytics ウィンドウ 4 種を暗記。当日: 問題文の 『リアルタイム』『スキャン量最小』『コスト最小』『DWU』『Streaming Unit』 といったキーワードに反応してサービス選定を即決。