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

Databricks Certified Data Engineer Associate 教科書

**Databricks Certified Data Engineer Associate** は、**Databricks Lakehouse Platform** 上でデータエンジニアリングを行うエンジニアを認定する Associate レベル試験です。**Snowflake と並ぶモダンデータ基盤の双璧** で、**Apache Spark + Delta Lake + Unity Catalog + Workflows + Photon** など Databricks のフル機能をカバーします。**データエンジニア ・ アナリティクスエンジニア ・ ML エンジニア** が想定対象。本教科書は出題範囲を 10 章で体系的にカバーします。

目次

  1. 1 章 · Databricks Data Engineer Associate ─ 試験の全体像
    試験形式・出題範囲・他 Databricks 認定との位置付けを整理します。
  2. 2 章 · Lakehouse Platform のアーキテクチャ
    Databricks Lakehouse の主要コンポーネントを整理します。
  3. 3 章 · Delta Lake
    Delta Lake のトランザクション ・ Time Travel ・ Schema 進化を整理します。
  4. 4 章 · Spark SQL と PySpark
    Apache Spark の SQL ・ DataFrame API ・ パフォーマンス最適化を整理します。
  5. 5 章 · ストリーミングと Auto Loader
    Structured Streaming ・ Auto Loader ・ Delta Live Tables(DLT)を整理します。
  6. 6 章 · Workflows と本番運用
    Databricks Workflows ・ Jobs ・ 監視を整理します。
  7. 7 章 · Unity Catalog とデータガバナンス
    Unity Catalog の階層 ・ アクセス制御 ・ リネージを整理します。
  8. 8 章 · Delta Sharing とコラボレーション
    オープンプロトコルでの安全なデータ共有を整理します。
  9. 9 章 · ML と生成 AI
    Databricks ML / MLflow / Mosaic AI を整理します。
  10. 10 章 · 受験対策の総まとめ
    範囲別チェックリストと試験当日の戦略を整理します。
Chapter 1

1 章 · Databricks Data Engineer Associate ─ 試験の全体像


§1.1

試験の位置付け

Data Engineer Associate は Databricks 認定の Associate レベルLakehouse Fundamentals(Foundational) の上位、Data Engineer Professional より入門的な位置付け。Spark / Delta Lake / SQL / Python の実装力 + Lakehouse 全体像を測ります。

  • 主催: Databricks
  • 形式: オンライン監督受験(Kryterion / Webassessor)
  • 問題数 / 時間: 45 問 / 90 分
  • 回答方式: 多肢選択 + 複数選択
  • 合格スコア: 70%(参考)
  • 有効期限: 2 年
  • 受験料: 200 USD(参考)
  • 前提知識: SQL + Python の基礎

Databricks 認定の階層

  • Lakehouse Fundamentals(Foundational): 基礎の基礎
  • Data Engineer Associate(本資格): エンジニア向け Associate
  • Data Analyst Associate: アナリスト向け
  • ML Practitioner Associate: ML 向け
  • Generative AI Engineer Associate: 生成 AI 向け(2024 〜)
  • Data Engineer Professional: 上位エンジニア
  • Machine Learning Professional: 上位 ML
§1.2

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

公式試験ガイドのドメイン

  1. Databricks Lakehouse Platform(約 24%): アーキテクチャ ・ Workspace ・ クラスタ
  2. ELT with Apache Spark(約 29%): SQL / PySpark / Delta Lake
  3. Incremental Data Processing(約 22%): Auto Loader / Structured Streaming / DLT
  4. Production Pipelines(約 16%): Workflows / Jobs / DLT / 監視
  5. Data Governance(約 9%): Unity Catalog / アクセス制御 / リネージ

60 〜 100 時間プラン

  1. Week 1: Lakehouse コンセプト + Workspace + クラスタ(本教科書 第 2 章)
  2. Week 2: SQL + PySpark + Delta Lake(第 3 〜 4 章)
  3. Week 3: Auto Loader + Structured Streaming + DLT(第 5 章)
  4. Week 4: Workflows + Jobs + 監視(第 6 章)
  5. Week 5: Unity Catalog + ガバナンス + 模擬試験(第 7 〜 10 章)
Databricks Community Edition + Academy が王道

Databricks Community Edition(無料 + 機能制限あり)+ Databricks Academy(無料公式学習)で実機演習が可能。14 日トライアル(本格機能) で本番に近い環境も試せます。

Chapter 2

2 章 · Lakehouse Platform のアーキテクチャ


§2.1

Lakehouse とは

Lakehouse Architecture

Data Lake(柔軟だが品質保証なし)+ Data Warehouse(構造化 + ACID だが柔軟性に欠ける)の 両方の利点を統合 したアーキテクチャ。Delta Lake が技術的中核で、Parquet ファイルに トランザクションログ を加えて ACID + Time Travel + Schema Evolution を実現。

Medallion Architecture

  • Bronze 層: 生データ(Raw)、最小限の加工
  • Silver 層: クレンジング ・ 結合 ・ 正規化
  • Gold 層: 集約 ・ ビジネスロジック適用、消費レベル
  • ETL ではなく ELT: 生データを先にロード、変換は後段で
§2.2

Workspace と Cluster

  • Workspace: テナント、ユーザ ・ ワークスペースアセットの単位
  • Notebook: Python / SQL / Scala / R で開発
  • Cluster: Spark クラスタ(Driver + Executor)
  • All-purpose Cluster: 開発用、複数ユーザ共有可
  • Job Cluster: 自動起動 / 終了、本番ジョブ用、コスト効率良
  • SQL Warehouse(旧 SQL Endpoint): SQL 専用、BI / アドホッククエリ向け
  • Serverless SQL Warehouse: サーバレスで起動高速
  • Cluster Policy: 設定の標準化 ・ 制限
  • Auto Scaling: ノード数の自動調整
  • Auto Termination: アイドル時の自動停止
§2.3

クラウドプロバイダ統合

  • Databricks on AWS: S3 + EC2
  • Databricks on Azure: Azure Storage + Azure VM
  • Databricks on GCP: GCS + GCE
  • Control Plane: Databricks 管理(Web UI / メタデータ / API)
  • Data Plane: 顧客クラウドアカウント内のリソース
  • Secure Cluster Connectivity(SCC): VNet 内のみ
  • Customer-Managed Keys(CMK): 顧客管理鍵
Chapter 3

3 章 · Delta Lake


§3.1

Delta Lake の基本

Delta Lake は Parquet ファイル + トランザクションログ(_delta_log)ACID トランザクション + Time Travel + Schema Enforcement を実現するオープンソース技術。Databricks の発祥でオープン化され、Apache Iceberg / Apache Hudi と並ぶ Lakehouse 標準テーブル形式の 1 つ。

  • ACID Transactions: 同時書込みでも整合性保証
  • Time Travel: 過去のバージョンにアクセス(`VERSION AS OF` / `TIMESTAMP AS OF`)
  • Schema Enforcement: スキーマ違反のデータを拒否
  • Schema Evolution: 新しい列を自動追加(`mergeSchema = true`)
  • Upsert / MERGE INTO: SCD Type 2 などの実装に必須
  • DELETE / UPDATE: トランザクション安全な変更
  • OPTIMIZE / Z-ORDER / Liquid Clustering: 物理レイアウト最適化
  • VACUUM: 古いファイルを削除
§3.2

Time Travel と VACUUM

Time Travel と VACUUM の例
-- バージョン番号で過去状態にアクセス
SELECT * FROM sales VERSION AS OF 5;

-- タイムスタンプで過去状態にアクセス
SELECT * FROM sales TIMESTAMP AS OF '2025-04-01 09:00:00';

-- 履歴を確認
DESCRIBE HISTORY sales;

-- 古いファイルを削除(デフォルト 7 日以上前)
VACUUM sales RETAIN 168 HOURS;  -- 7 日 = 168 時間

-- ストレージ最適化(小さいファイルを統合)
OPTIMIZE sales;

-- Z-ORDER でクエリ高速化
OPTIMIZE sales ZORDER BY (region, date);
  • Retention 期間: デフォルト 7 日(`delta.deletedFileRetentionDuration`)
  • Liquid Clustering: Z-ORDER の進化版、宣言型クラスタリング
  • Predictive Optimization: 自動で OPTIMIZE / VACUUM
  • Deletion Vectors: 物理削除なしの論理削除(高速)
§3.3

MERGE INTO と Upsert

MERGE INTO の例
-- ターゲットに INSERT / UPDATE / DELETE を一括実行
MERGE INTO target_table t
USING source_table s
ON t.id = s.id
WHEN MATCHED AND s.is_deleted THEN DELETE
WHEN MATCHED THEN UPDATE SET t.value = s.value, t.updated_at = s.updated_at
WHEN NOT MATCHED THEN INSERT (id, value, updated_at) VALUES (s.id, s.value, s.updated_at);
  • Upsert: INSERT or UPDATE
  • SCD Type 1: 上書き
  • SCD Type 2: 履歴保持(`effective_from / effective_to / current_flag`)
  • Deduplication: ROW_NUMBER で重複排除
  • Change Data Feed(CDF): テーブルへの変更ストリームを取得
Chapter 4

4 章 · Spark SQL と PySpark


§4.1

Spark の基本

  • Spark Architecture: Driver + Executor + Cluster Manager
  • RDD / DataFrame / Dataset: 抽象化レベル
  • Lazy Evaluation: アクションが呼ばれるまで計算しない
  • Catalyst Optimizer: SQL → 物理プラン変換
  • Tungsten Engine: メモリ効率 + コード生成
  • Photon Engine: Databricks の C++ 実装、SQL クエリを大幅高速化
  • Adaptive Query Execution(AQE): クエリプランの動的調整
§4.2

PySpark の基本操作

PySpark DataFrame の例
from pyspark.sql import functions as F

# Delta Lake から読み込み
df = spark.table("silver.sales")

# フィルタ + 集約
result = (
    df
    .filter(F.col("region") == "APAC")
    .groupBy("product")
    .agg(
        F.sum("amount").alias("total"),
        F.countDistinct("customer_id").alias("unique_customers"),
    )
    .orderBy(F.desc("total"))
)

# Delta Lake に書き込み
result.write.mode("overwrite").saveAsTable("gold.product_summary")
  • select / filter / groupBy / agg / join
  • withColumn / withColumnRenamed / drop
  • explode / array / struct
  • window functions: row_number / rank / lag / lead
  • broadcast join: 小テーブルを各ノードに配布
  • partition by: ファイル分割の指定
§4.3

パフォーマンス最適化

  • Broadcast Join: 小さい方を broadcast、大きい方とハッシュ結合
  • Skew Join Optimization: AQE で自動
  • Shuffle Partitions: `spark.sql.shuffle.partitions`(デフォルト 200)
  • Caching: `cache()` / `persist()`
  • Repartition vs Coalesce: ファイル数調整
  • Predicate Pushdown: Parquet / Delta でフィルタを下層に
  • Z-ORDER + Liquid Clustering: マルチカラムソートで Pruning 強化
  • Photon: 上記すべての効果を増幅
Chapter 5

5 章 · ストリーミングと Auto Loader


§5.1

Structured Streaming

  • Structured Streaming: DataFrame API でストリーム処理
  • Trigger: continuous / processing time / available now
  • Watermark: 遅延データの取扱い
  • Stateful Processing: 集約 ・ 結合の状態管理
  • Output Modes: complete / append / update
  • Sources: Delta / Kafka / Kinesis / Files / Auto Loader
  • Sinks: Delta / Kafka / Memory / ForeachBatch
  • Checkpointing: 状態の永続化
§5.2

Auto Loader

Auto Loaderクラウドストレージへのファイル到着を自動検知 して取込むストリーミングソース。Snowflake の Snowpipe に対応 する位置付け。スケーラビリティとシンプルさが強み。

  • File Notification Mode: クラウド通知サービス(SNS / EventGrid / Pub/Sub)で検知
  • Directory Listing Mode: 定期的にディレクトリを列挙
  • Schema Inference: スキーマを自動推論
  • Schema Evolution: 新しい列を自動追加
  • Incremental Processing: チェックポイントで前回処理済を記憶
  • Rescued Data Column: 解析できなかった行を退避
§5.3

Delta Live Tables(DLT)

Delta Live Tables(DLT)宣言型 ETL フレームワーク。SQL / Python で『どの順序でどう変換するか』ではなく『何を作るか』を宣言すると、DLT が依存関係 ・ パイプライン ・ 監視 ・ エラー処理を自動化。

  • LIVE Tables: パイプライン内のテーブル
  • Streaming Live Tables: 増分処理
  • Materialized Views(旧 Live Tables): 完全再計算
  • Expectations: データ品質チェック(EXPECT / EXPECT OR DROP / EXPECT OR FAIL)
  • Apply Changes Into: SCD Type 1 / Type 2 を宣言型に
  • Continuous vs Triggered: 連続実行 vs スケジュール実行
  • Enhanced Autoscaling: DLT 専用の効率的なオートスケール
Chapter 6

6 章 · Workflows と本番運用


§6.1

Workflows と Jobs

  • Workflow: 複数 Task を組合わせたパイプライン
  • Task 種別: Notebook / Python wheel / JAR / SQL / DBT / DLT / Pipeline
  • Dependency: Task 間の依存関係(DAG 形式)
  • Retry Policy: 失敗時の再試行
  • Schedule: クロン式の定期実行
  • Trigger: ファイル到着 ・ 外部 API / イベント駆動
  • Notifications: メール / Slack / PagerDuty
  • Job Cluster vs All-purpose: ジョブ用クラスタはコスト効率良
§6.2

監視とトラブルシューティング

  • Job UI: 実行履歴 ・ ログ ・ メトリクス
  • Spark UI: Stage / Task の詳細
  • Cluster Logs: 各ノードのログ
  • Cluster Metrics: CPU / メモリ / ディスク
  • System Tables(Lakehouse Monitoring): 利用状況分析
  • dbsql alert: SQL Warehouse のクエリ結果に基づくアラート
§6.3

CI/CD と開発フロー

  • Repos: Git 統合(GitHub / GitLab / Azure DevOps)
  • Databricks Asset Bundles(DAB): IaC 形式のデプロイ単位
  • Databricks CLI / API: 自動化
  • Terraform Provider: IaC で Workspace / Job 管理
  • Notebook Source Format: .ipynb or .py / .sql
  • Branch / PR ベース開発: dev / staging / prod
Chapter 7

7 章 · Unity Catalog とデータガバナンス


§7.1

Unity Catalog の階層

Unity Catalog は Databricks の統合ガバナンス層。Metastore → Catalog → Schema → Table / View / Function3 階層 + α で、複数 Workspace を横断するメタデータ管理 ・ アクセス制御 ・ リネージを提供します。

  • Metastore: リージョン単位の最上位
  • Catalog: 論理グループ(部門 / 環境)
  • Schema: Database 相当
  • Table / View / Function / Volume / Model
  • External Location: 外部ストレージへの安全な参照
  • Storage Credential: ストレージ認証情報
  • Workspace 間の横断: 1 Metastore で複数 Workspace 共有可
§7.2

アクセス制御

  • GRANT / REVOKE: SQL ベースの権限
  • Principal: User / Group / Service Principal
  • Privilege: SELECT / MODIFY / CREATE / USE CATALOG など
  • Inherit: Catalog → Schema → Table の継承
  • Row-level Security(行フィルタ): 行単位のアクセス制御
  • Column-level Masking(列マスキング): 動的マスキング
  • Service Principal: アプリ用認証
  • Personal Access Token: API 認証
§7.3

リネージとデータ発見

  • Data Lineage: テーブル / 列単位の自動追跡
  • Data Explorer: GUI での Catalog 探索
  • Tags: メタデータタグ付け
  • Sensitivity Labels: 機密度ラベル
  • System Tables: クエリ履歴 ・ アクセスログ
  • Audit Log: 監査ログ(Delta Sharing 含む)
Chapter 8

8 章 · Delta Sharing とコラボレーション


§8.1

Delta Sharing

Delta Sharing は Databricks 発のオープンプロトコル(Linux Foundation 寄贈)で、Databricks 環境を持たない受信者にもデータを安全に共有 できる。Snowflake の Secure Data Sharing に対応する位置付け。

  • Recipient: 共有先
  • Share: 共有するテーブル / ビュー / Notebook の集合
  • Open Sharing: 認証トークンベース、誰でも受信可
  • Databricks-to-Databricks Sharing: Databricks 同士で UC 統合
  • Marketplace: 公開データセット ・ ML モデルの売買
  • Clean Rooms: 複数組織間で個別データ非開示の協調分析
§8.2

Volumes と Files

  • Volumes(UC): 構造化されていないファイル(画像 / PDF / モデル)を Catalog で管理
  • Managed vs External Volumes
  • dbutils.fs: ファイル操作
  • DBFS(Databricks File System): 旧ファイル抽象(UC 推奨)
  • Workspace Files: Notebook と並ぶワークスペース内ファイル
Chapter 9

9 章 · ML と生成 AI


§9.1

MLflow

  • MLflow Tracking: 実験管理(パラメータ / メトリクス / アーティファクト)
  • MLflow Models: モデルパッケージング
  • MLflow Model Registry: モデルバージョン管理 + ステージング
  • MLflow Projects: 再現可能な学習プロジェクト
  • Databricks Managed MLflow: 統合された Tracking + Registry
  • Auto-logging: 主要 ML ライブラリの自動記録
  • Unity Catalog Models: UC 統合のモデル管理
§9.2

Databricks Model Serving

  • Real-time Endpoint: ms 級推論
  • Batch Inference: 大量推論(SQL `ai_query()` 関数)
  • Foundation Model APIs: Llama / Mistral / DBRX などの基盤モデル
  • External Model: OpenAI / Anthropic を Databricks 経由
  • Vector Search: ベクトル類似検索
  • Feature Serving: Feature Store の推論時統合
  • A/B Testing: トラフィック分散
§9.3

Mosaic AI と生成 AI

  • Mosaic AI: Databricks の AI ブランド(2024 〜)
  • DBRX: Databricks 製のオープンソース基盤モデル
  • Mosaic AI Pretraining / Fine-tuning: 大規模学習サービス
  • Mosaic AI Agent Framework: エージェント構築
  • Mosaic AI Agent Evaluation: エージェント評価
  • RAG Studio: RAG 専用 IDE
  • Genie: 自然言語 BI
  • Vector Search: 埋め込み + ハイブリッド検索
Chapter 10

10 章 · 受験対策の総まとめ


§10.1

範囲別チェックリスト

  1. 第 2 章: Lakehouse / Medallion / Workspace / Cluster 種別
  2. 第 3 章: Delta Lake の ACID / Time Travel / OPTIMIZE / Z-ORDER / VACUUM
  3. 第 4 章: Catalyst / Photon / AQE / Broadcast Join / Repartition
  4. 第 5 章: Auto Loader / Structured Streaming / DLT / Apply Changes Into
  5. 第 6 章: Workflows / Jobs / Job Cluster / Repos / DAB
  6. 第 7 章: Unity Catalog 階層 / GRANT / Lineage / RLS
  7. 第 8 章: Delta Sharing / Volumes / Marketplace / Clean Rooms
  8. 第 9 章: MLflow / Model Serving / Mosaic AI / DBRX

試験当日のコツ

  • 45 問 / 90 分 = 1 問 約 2 分
  • Delta Lake の特性 が頻出: ACID / Time Travel / OPTIMIZE / VACUUM
  • Auto Loader vs COPY INTO: 増分 vs バッチの使い分け
  • DLT の Apply Changes Into: SCD Type 1 / 2
  • Unity Catalog の権限階層
  • Databricks Academy の練習問題 を必ず受ける
§10.2

次のステップ

Data Engineer Associate 合格 → Data Engineer Professional(上位)が王道。ML 寄りなら ML Practitioner Associate → Machine Learning Professional、生成 AI なら Generative AI Engineer Associate へ。本サイトの[Snowflake SnowPro Core](/certs/snowflake-snowpro)と組み合わせるとモダンデータ基盤の双璧を制覇できます。

Databricks のキャリア活用

Databricks は 金融 ・ ヘルスケア ・ 通信 ・ 小売 などビッグデータが大量にある業界で広く採用。データエンジニア ・ ML エンジニア ・ アナリティクスエンジニア での評価が高く、特に Spark + Delta Lake + MLflow を扱える人材は希少。本サイトの[DB スペシャリスト](/certs/db-specialist)と組合せると伝統的 DB + モダン Lakehouse の両軸が強みに。