Understand the certification
Databricks Certified Associate Developer for Apache Spark 是 Databricks 推出的 Spark 开发能力认证,分 Python(PySpark) 和 Scala 两个版本,报名时二选一。考试 60 题 / 120 分钟 / 70% 通过线,$200 USD。
这是市面上唯一由 Spark 商业化公司(Databricks = Spark 的创始团队 Matei Zaharia 创办)直接颁发的 Spark 认证。考试不考 Databricks 平台特有功能(DLT、Unity Catalog 等),纯考 Apache Spark 核心 API:DataFrame 操作、Spark SQL、Structured Streaming、执行计划和分区策略。
考试代码从 2024 年起更新,加入了 Spark Connect 和 Adaptive Query Execution(AQE)内容,删除了旧版的 RDD API 考点。当前考试基于 Spark 3.x 版本。
和 Databricks Data Engineer Associate 的区别:DEA 考的是 Databricks 平台操作(Delta Lake + Auto Loader + Workflows),Spark Developer 考的是 纯 Spark API 编程能力。两者覆盖范围不同,都考 Spark 但侧重点一个是平台一个是代码。
Exam at a glance
- Exam code
- Databricks Spark Dev
- Provider
- 其他
- Format
- single-choice / multiple-choice
- Language
- English
- Validity
- 3 years
Skills in focus
Learning outcomes
- 熟练使用 Spark DataFrame API 完成复杂数据转换
- 理解 Spark 执行计划、Stage 划分与 Shuffle 优化
- 掌握 Structured Streaming 实时数据处理管道构建
- 能够诊断 Spark 性能问题并应用广播连接等优化技术
- 自信通过 Databricks Certified Associate Developer for Apache Spark 认证
Who this is for
- 数据工程师:使用 PySpark 或 Scala Spark 进行日常数据处理
- 数据科学家:在 Spark 集群上运行大规模数据分析
- 软件工程师:转型大数据方向,需要证明 Spark 开发能力
- 有 6 个月以上 Spark 开发经验,希望获得官方认证的从业者
Before you start
- 熟练掌握 Python 或 Scala 编程(必须选择一种语言版本参考)
- 理解分布式计算基本概念(并行处理、数据分区)
- 6 个月以上 Apache Spark 实际开发经验
- 建议在 Databricks Community Edition(免费)上进行代码实践
Consider another path if
- 只用 pandas/SQL 做数据分析的分析师 — 不涉及分布式计算,ROI 低
- 完全没写过 PySpark 或 Scala Spark 代码的人 — 至少要有 3 个月实操经验
- 已有 Databricks Data Engineer Professional 的人 — Professional 已覆盖 Spark 能力
Your learning path
3 chapters
Plan your preparation
- Learning hours
- 35h
- With relevant experience
- 3-5 weeks
- Starting from scratch
- 8-10 weeks
- Daily study
- 1-2h
Included in your preparation
- 176+ 道练习题覆盖 Spark 开发者考试全部知识域
- 支持 Python/PySpark 和 Scala 两种代码示例风格
- AI 智能辅导针对 DataFrame API 与性能调优薄弱点
- 详细解析底层执行原理(DAG、RDD、Stage 划分)
- 模拟 60 道题 120 分钟的真实考试节奏
1. 第一阶段:Spark 架构原理(1 周)
搞清楚 Driver/Executor 模型、Lazy Evaluation、Actions vs Transformations 的区别、宽依赖 vs 窄依赖导致的 Shuffle。推荐 Databricks Academy 的免费课程 "Apache Spark Programming with Databricks"。重点理解:为什么 groupBy() 是宽依赖会触发 Shuffle,而 filter() 是窄依赖不会。
2. 第二阶段:DataFrame API 实操训练(2-3 周)
考试约 50% 考 DataFrame 操作。打开 Databricks Community Edition(免费)跑代码:select/withColumn/filter/join(inner/left/cross/semi/anti)/groupBy+agg/pivot/explode/窗口函数(row_number/rank/lag/lead)。每种操作写 3 个不同场景的代码。特别注意 join 后列名冲突的处理方式(alias vs col("df.column"))。
3. 第三阶段:Spark SQL + Structured Streaming(1-2 周)
Spark SQL 考点:createOrReplaceTempView vs createGlobalTempView 的作用域区别、UDF 注册和使用、窗口函数 PARTITION BY + ORDER BY。Structured Streaming 考点:readStream/writeStream API、Trigger 模式(once/processingTime/continuous)、输出模式(append/update/complete)、Checkpoint 目录的作用。每个概念在 Community Edition 上跑一遍。
4. 第四阶段:性能调优 + 模拟考试(1 周)
性能题约占 15%:repartition vs coalesce(coalesce 不触发 Shuffle 但只能减少分区)、cache vs persist(persist 可以选存储级别)、broadcast join 的 10MB 阈值、AQE 自动优化。刷 Databricks Academy Practice Exam + Udemy 的 Spark Developer 模拟题 2-3 套,稳定 75%+ 约考。
Career value
Spark 是大数据处理的事实标准,这张证直接证明你的 Spark 编码能力。
在 LinkedIn 数据工程岗位中,"Apache Spark" 是仅次于 SQL 和 Python 的第三大技能关键词。但"会用 Spark"和"简历上写了 Spark"是两回事 — 很多人只会 .read().show(),遇到数据倾斜、Shuffle 优化就卡壳。这张证的价值在于向雇主证明你真的理解 Spark 的分布式执行模型,而不只是拿 Spark 当"大号 pandas"用。
Python vs Scala 选哪个:如果你日常用 PySpark 就选 Python,用 Scala 就选 Scala。两个版本难度相当,但 Python 版报考人数约为 Scala 的 5 倍(因为数据工程市场 Python 占主导)。选 Python 更安全,因为模拟题和社区资源更多。
不适合的人:只用 pandas/SQL 做数据分析、不接触分布式计算的分析师 — 这张证对你的工作没有直接帮助。
- 澳洲
- AUD 130,000 – 175,000
- 美国
- USD 120,000 – 170,000
- 中国
- CNY 350,000 – 650,000
- 新加坡
- SGD 95,000 – 145,000
Preparation tips
- **选 Python 还是 Scala 在报名时确定** — 报名后不能换。如果两个都用过但 PySpark 更熟,选 Python。
- **DataFrame API 占 50% 分值** — select/filter/join/groupBy/窗口函数是绝对重点,至少刷 30 道题。
- **120 分钟 60 题 = 每题 2 分钟** — 时间充裕,但代码题需要逐行读。遇到"这段代码的输出是什么"的题,在脑中模拟执行,注意 null 值处理和列名冲突。
- **Community Edition 是免费的练习环境** — 不需要花钱买 Databricks 账号,注册 Community Edition 即可跑所有考试覆盖的 API。
Common mistakes
- **混淆 repartition 和 coalesce** — repartition 触发 full shuffle 可增可减分区数;coalesce 不触发 shuffle 只能减少分区数。考试至少 2-3 题直接考。
- **不理解 Lazy Evaluation** — Transformations(select/filter/join)不会立刻执行,只有 Actions(show/count/collect/write)才触发计算。考试会问"执行到这行代码时 Spark 做了什么"。
- **忽略 Structured Streaming 的输出模式** — append 只输出新数据(不能用于有聚合的流)、complete 输出全部结果(只能用于有聚合的流)、update 输出变化的行。搞混就丢分。
- **UDF 性能陷阱** — 考试会出"为什么用 UDF 比用内置函数慢",答案是 UDF 不能被 Catalyst Optimizer 优化且需要序列化/反序列化。
- **不看 EXPLAIN 输出** — 考试会给你 EXPLAIN FORMATTED 的输出片段,问你"这个 join 用的是哪种策略"。没看过真实输出的人根本认不出来。
Before you register
What is the Databricks Certified Associate Developer for Apache Spark exam?
This is Databricks' official Apache Spark developer certification, validating the ability to use Spark DataFrame API and Spark SQL for data processing. The exam contains 60 multiple-choice questions, lasts 120 minutes, with a 70% passing score. Exam fee is $200 USD, available in Python or Scala versions. Certification is valid for 2 years.
What Spark knowledge areas does the exam primarily test?
Key areas include: (1) Spark architecture (Driver/Executor, narrow/wide dependencies, Shuffle); (2) DataFrame API operations (select, filter, join, groupBy, agg); (3) Spark SQL (window functions, subqueries, UDFs); (4) Reading/writing data sources (Parquet, JSON, CSV, Delta Lake); (5) Performance optimization (partitioning strategies, caching, broadcast variables); (6) Spark Streaming basic concepts.
Should I choose the Python or Scala version of the exam?
Choose Python if you use PySpark daily; choose Scala if you use Scala Spark. Both versions have identical content and difficulty, differing only in code example language. For most data engineers and data scientists, the Python version is more common. Choose the language you are more familiar with to avoid syntax issues affecting your answers.
What background is needed to prepare for this certification?
Familiarity with Python or Scala programming, understanding of distributed computing concepts, and practical experience using Spark for data processing are required. At least 6 months of Spark development experience is recommended. You should know common DataFrame API operations and Spark SQL syntax. Without Spark experience, completing Databricks Academy's free introductory courses first is advised.
How does this certification differ from Databricks Data Engineer Associate?
Spark Developer Associate focuses on Spark programming skills (DataFrame API, Spark SQL, performance tuning) — a pure technical development certification. Data Engineer Associate has broader coverage including Databricks platform usage, Delta Lake, ETL pipeline design, and data governance. If you primarily do Spark development, take Spark Developer first; for end-to-end data engineering, take Data Engineer.
Do the 176+ practice questions cover all exam content?
Yes, the 176+ practice questions cover all major exam domains including Spark architecture, DataFrame operations, Spark SQL, data I/O, and performance optimization. Each question includes detailed explanations to help understand underlying principles. We recommend hands-on practice with Spark code using Databricks Community Edition (free) to deepen API understanding.
Learner experiences
Loading reviews…
我每天写 PySpark 但考试里的 anti join 和 semi join 居然没见过 — 工作中我都用 left join + filter null 代替。还有 UDF 注册的两种方式(spark.udf.register vs F.udf decorator),考试明确区分了 SQL 里能用的和 DataFrame API 里能用的。建议把每种 join 类型在 notebook 里跑一遍输出结果。
Y. Li
数据工程师 2 年 / PySpark 日常使用 · 78% · 4 weeks
后端出身对分布式不熟悉,花了 2 周理解 Shuffle 和 Stage 的关系。考试有一类题是给你一段代码问"这段代码会触发几次 Shuffle" — 必须理解哪些操作是宽依赖。groupBy、join、repartition 触发 Shuffle,filter、map、select 不触发。记住这个规则就能解决这类题。
D. Park
后端转数据工程 · 73% · 8 weeks
Start with the first chapter.
2 free chapters · Full preparation from $29