Study notes for Databricks certifications: Data Engineer (Associate & Professional), Data Analyst Associate, ML Associate & Professional, GenAI Engineer Associate.
databricks-certification-study-guide/
├── certifications/
│ ├── data-engineer-associate/ # 5 topic folders + resources/
│ ├── data-engineer-professional/ # 8 topic folders + resources/
│ ├── data-analyst-associate/ # 5 topic folders + resources/
│ ├── ml-associate/ # 4 topic folders + resources/
│ ├── ml-professional/ # 4 topic folders + resources/
│ └── genai-engineer-associate/ # 4 topic folders + resources/
├── shared/
│ ├── fundamentals/ # Cross-cert concept files
│ ├── cheat-sheets/ # Quick-reference sheets
│ ├── appendix/ # Glossary, comparisons, errors, troubleshooting
│ ├── code-examples/ # python/ and sql/ (always .md files)
│ └── interview-prep/ # 15 topic files, 108 open-ended questions
├── learning-paths/ # Per-role study paths
├── i18n/ # Translations index + th/ (Thai in-tree translation)
│ ├── README.md # Index of all language translations
│ ├── STATUS-TEMPLATE.md # Template for non-Thai community forks
│ └── th/ # Thai translation (README.md, glossary.md, STATUS.md)
├── anki/ # Spaced-repetition Anki decks
│ ├── README.md, format.md, build.py # Workflow, spec, builder
│ ├── decks/ # Markdown source (committed)
│ └── build/ # TSV output (gitignored)
├── practice/ # Static adaptive practice quiz
│ ├── README.md, format.md, build.py # Workflow, spec, markdown→JSON builder
│ ├── index.html, app.js, styles.css # Vanilla JS quiz UI (no deps)
│ └── data/<cert>.json # Generated question banks (committed for static hosting)
└── images/databricks-ui/ # Screenshots by feature area
Each certification folder contains numbered topic folders (01-topic/, 02-topic/, …) with a README.md index and individual .md topic files. Each also has resources/ with exam-tips.md, official-links.md, practice-questions/, mock-exam/, and mock-exam-2/.
- English is the canonical source. All content edits land in English first.
- Thai is the only in-tree translation, at
i18n/th/. The maintainer reads Thai and reviews Thai PRs. - Other languages use the fork model — community forks register themselves in
i18n/README.md. We don't merge non-Thai translations into upstream. - Translation policy is in
TRANSLATING.md; the Thai glossary isi18n/th/glossary.md. Thai translations must conform to the glossary. - Product names (Delta Lake, Unity Catalog, Lakeflow Jobs, MLflow, etc.) and code blocks stay in English in all translations.
- When English content changes that has a Thai counterpart, mark the Thai file 🔄 in
i18n/th/STATUS.mduntil re-synced.
- Check
shared/first — if content applies to multiple certifications, put it there - Reference, don't duplicate shared content across certifications
- Always
.mdfiles, never.pyor.sql— store inshared/code-examples/python/orsql/ - Fenced code blocks with language tags; group related snippets under
##headings; add YAML frontmatter withtags
- Target: 300–600 lines; hard limit: ~800 lines (~20–25 KB)
- Exception:
mock-exam/questions.mdfiles — do not split - Split when 2+ distinct sub-topics can stand alone →
03-topic-part1.md+03-topic-part2.md:- Same number prefix; append
-part1/-part2 - Each part gets own YAML frontmatter and intro
- Terminal sections (Use Cases → Official Docs) go in Part 2 only; Part 1 ends with forward link
- Update topic
README.mdindex; delete original; fix all links repo-wide
- Same number prefix; append
-
Run markdownlint on every modified file; blank lines before/after headings (MD022)
-
Language tags on all code blocks (
sql,python,scala) -
One
#H1 per file (the title). Exception: the top-levelREADME.mduses a centered<h1 align="center">HTML block instead of a markdown#to render the banner — this is intentional; do not "fix" it -
Callout type names are lowercase:
> [!note],> [!important],> [!warning],> [!tip],> [!success]-,> [!abstract],> [!info] -
Topic-file preamble callouts (after the
## Overview): two standard callouts in this order:> [!abstract]— 2–4 bullets summarising the topic's key concepts (the "what")> [!tip] What the Exam Tests— 2–4 bullets framing what an exam taker should learn from the topic (the "why study this")
These are preamble / orientation callouts. The terminal
## Exam Tipssection (between Common Issues & Errors and Key Takeaways) is for cram-style advice consumed right before the exam, and serves a distinct purpose. -
Use a non-breaking space before
%in weights and percentages (e.g.,24 %, not24%) for visual consistency across cert READMEs -
Multi-line Python: parenthesized expressions, not backslash continuations:
df = (spark.read.format("delta") .option("key", "value") .load("/path"))
-
Practice answers: Obsidian foldable
> [!success]- Answercallout -
Practice choices: A/B/C/D on separate lines (no bullets); two trailing spaces for line breaks
- Architecture diagrams: Mermaid (
flowchart,sequenceDiagram,graph) - Directory trees: ASCII text, not Mermaid
- Screenshots:
images/databricks-ui/<feature>/; standard markdownwith caption; ≤800 px wide
- Link to files, not folders (
path/to/README.md, notpath/to/) - Always
./README.mdfor local READMEs — bareREADME.mdresolves ambiguously in Obsidian - Verify target files exist after edits
Terminal sections in this exact order:
## Use Cases## Common Issues & Errors## Best Practices(optional)## Exam Tips## Key Takeaways## Related Topics## Official Documentation---separator + navigation link (always last)
Lab files (type: lab under labs/) are exercises, not topic files. They follow a different terminal pattern: ## Verification (or fold verification into the last numbered step) → ## Cleanup → ## Related Study Material → --- + nav. The Use Cases / Common Issues / Exam Tips / Key Takeaways sections do not apply.
Final-review files (type: final-review under each cert's resources/final-review.md) are exam-morning cram scans, also not topic files. Standard structure: a > [!important] framing callout (optional), ## 2-minute facts ..., ## 5-minute per-domain quick-fire, ## Common-trap reminders (table), ## Today's exam — <N>-minute time budget, optional motivational close, --- + nav. No Use Cases / Common Issues / Key Takeaways terminal sections — the whole file IS the cram material.
Nav format: end each topic file with a three-segment bold line — Previous file link, Back-to-Section link to ./README.md, Next file link — separated by |. Schematic (replace <prev> and <next> with the actual sibling filenames):
**[← Previous: <Prev Topic>](<prev>.md) | [↑ Back to Section](README.md) | [Next: <Next Topic> →](<next>.md)**
- Part 1 files: end with only forward link to Part 2
- Part 2 files: full three-way nav
Required: YAML frontmatter (title, type: certification, aliases, tags), Exam Overview table, Domain Weights (Mermaid pie), Study Topics table with weights, Practice & Resources table, Prerequisites (shared fundamentals links), Study Progress Tracker (checkboxes), Interview Preparation link.
Required: YAML frontmatter (title, type: category, tags, status), topic title with exam weight, Topics Overview (Mermaid flowchart), Section Contents table, Key Concepts, Related Resources, Back/Next navigation.
- DE Associate: 01-lakehouse-platform, 02-etl-spark-sql, 03-delta-lake, 04-workflows-orchestration (Lakeflow Jobs), 05-data-governance, 06-cicd-and-monitoring (folder added for the May 2026 blueprint refresh)
- DE Professional: 01-developing-code-for-data-processing, 02-cost-and-performance-optimization, 03-data-transformation-cleansing-quality, 04-monitoring-and-alerting, 05-ensuring-data-security-and-compliance, 06-debugging-and-deploying, 07-data-ingestion-and-acquisition, 08-data-governance, 09-data-modelling, 10-data-sharing-and-federation (matches Nov 30, 2025 official 10-domain blueprint)
- Data Analyst: 01-executing-queries-databricks-sql-warehouses, 02-creating-dashboards-and-visualizations, 03-analyzing-queries, 04-developing-sharing-maintaining-genie-spaces, 05-understanding-databricks-platform, 06-managing-data, 07-securing-data, 08-importing-data, 09-data-modeling-with-databricks-sql (matches Oct 2025 official 9-domain blueprint)
- ML Associate: 01-databricks-machine-learning, 02-model-development, 03-ml-workflows, 04-model-deployment (matches Mar 1, 2025 official 4-domain blueprint)
- ML Professional: 01-model-development, 02-ml-ops, 03-model-deployment (matches Sep 2025 official 3-domain blueprint)
- GenAI Engineer: 01-application-development, 02-assembling-and-deploying-apps, 03-design-applications, 04-data-preparation, 05-evaluation-and-monitoring, 06-governance (matches March 2026 official 6-domain blueprint)
- fundamentals/: platform-architecture, databricks-workspace, delta-lake-basics, spark-fundamentals, sql-essentials, streaming-fundamentals, unity-catalog-basics, medallion-architecture, mlflow-basics, feature-engineering-basics, rag-vector-search-basics, open-table-formats, python-essentials (×2)
- cheat-sheets/: delta-lake-commands, dlt-quick-ref, mlflow-quick-ref, pyspark-api-quick-ref, spark-configurations, sql-functions, unity-catalog-quick-ref, performance-optimization, describe-show-commands
- appendix/: glossary, comparison-tables, error-messages, performance-troubleshooting, version-history, renewal-guide
- code-examples/: python/ (delta_lake_operations, python_patterns, streaming_examples, unity_catalog_setup), sql/ (cte_patterns, delta_lake_operations, window_functions)
- interview-prep/: associate-fundamentals, file-formats-spark-internals, delta-lake-internals, pipeline-architecture, streaming-cdc, data-modeling, performance-optimization, pyspark-sql-patterns, python-code-quality, governance-security, production-operations, data-compliance-quality, system-design, ml-system-design, genai-rag-design
This repo uses a 3-round self-review before squash-merge. Full process in CONTRIBUTING.md.
| Round | Focus |
|---|---|
| 1 | Technical correctness — links resolve, code runs, markdownlint passes |
| 2 | Factual / blueprint accuracy — every change cites a Databricks source |
| 3 | Style & conventions — terminal sections, callouts, A/B/C/D formatting |
- Branch off
mainwith a descriptive name (fix/,feat/,docs/,chore/) - Commit prefixes:
docs:,fix:,feat:,chore:,review(roundN):for review passes - Squash-merge only. Merge commits and rebase merges are disabled at the repo level
- Branch protection: linear history required, force pushes and deletions blocked
Every PR that changes content must keep README.md and CLAUDE.md in sync.
| If the PR… | …also update |
|---|---|
| Adds a new certification | top-level README.md (certs table, exam-at-a-glance), CLAUDE.md (Repository Structure, Certification Topic Folders) |
| Renames or restructures a topic folder | CLAUDE.md (Certification Topic Folders), the cert's README.md (Study Topics table) |
| Adds a new cheat sheet, interview-prep file, fundamental, code example, or appendix entry | CLAUDE.md (Shared Content) |
| Changes domain weights, fee, duration, or question count | top-level README.md (per-cert exam-at-a-glance) AND the cert's README.md |
| Bumps the exam-guide version date for a cert | top-level README.md (table + "What changed" callout), CHANGELOG.md, the cert's README.md |
| Touches a convention or layout rule | CLAUDE.md (Content Guidelines) |
Edits an English file that has a Thai counterpart under i18n/th/ |
mark the counterpart 🔄 in i18n/th/STATUS.md (don't translate in the same PR — Thai catch-up is a separate PR) |
| Adds a new Databricks-adjacent term to a Thai translation | also add it to i18n/th/glossary.md in the same PR |
Adds or modifies an Anki deck under anki/decks/ |
update the "Available decks" table in anki/README.md; run python3 anki/build.py --check before committing |
Edits a certifications/<cert>/resources/practice-questions/*.md file |
re-run python3 practice/build.py --cert <cert> and commit the regenerated practice/data/<cert>.json in the same PR |
| Adds a new cert to the practice quiz | run python3 practice/build.py, update the "Available banks" table in practice/README.md, and add the cert to KNOWN_BANKS in practice/app.js |
The PR template checkbox enforces this. Do not check the box unless the update is actually in the diff.
When Databricks updates the exam guide for any certification:
- Update the exam-guide version date in the cert's
README.mdExam Overview table - Update any changed domain weights (Mermaid pie + Study Topics table)
- Update / add the "What changed in the latest blueprint" callout at the top of that cert's
README.md - Update the matching cert row in the top-level
README.mdcertifications table and the "What changed in the 2025–2026 exam guides" section - Add an entry to
CHANGELOG.mddescribing the refresh - Mark new practice questions targeting the updated skills with a
*(YYYY blueprint)*suffix in the question heading
Always cite the new exam-guide PDF URL in the PR description.