想证明你真的会 PySpark/Scala Spark 而不只是会写 pandas — 这张证是 Spark 开发者的"硬实力证明",$200 / 120 分钟 / 60 题。
先把考试形式、适合人群、备考时长和学习范围讲清楚,再决定要不要投入时间。
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 但侧重点一个是平台一个是代码。
Databricks Apache Spark Developer 持证人的薪资区间、对应岗位、以及真实的职业影响。
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 做数据分析、不接触分布式计算的分析师 — 这张证对你的工作没有直接帮助。
过来人总结的分阶段备考节奏,按周拆分,不是空话。
搞清楚 Driver/Executor 模型、Lazy Evaluation、Actions vs Transformations 的区别、宽依赖 vs 窄依赖导致的 Shuffle。推荐 Databricks Academy 的免费课程 "Apache Spark Programming with Databricks"。重点理解:为什么 groupBy() 是宽依赖会触发 Shuffle,而 filter() 是窄依赖不会。
考试约 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"))。
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 上跑一遍。
性能题约占 15%:repartition vs coalesce(coalesce 不触发 Shuffle 但只能减少分区)、cache vs persist(persist 可以选存储级别)、broadcast join 的 10MB 阈值、AQE 自动优化。刷 Databricks Academy Practice Exam + Udemy 的 Spark Developer 模拟题 2-3 套,稳定 75%+ 约考。
过来人的备考时长、分数、以及踩过的坑。
我每天写 PySpark 但考试里的 anti join 和 semi join 居然没见过 — 工作中我都用 left join + filter null 代替。还有 UDF 注册的两种方式(spark.udf.register vs F.udf decorator),考试明确区分了 SQL 里能用的和 DataFrame API 里能用的。建议把每种 join 类型在 notebook 里跑一遍输出结果。
后端出身对分布式不熟悉,花了 2 周理解 Shuffle 和 Stage 的关系。考试有一类题是给你一段代码问"这段代码会触发几次 Shuffle" — 必须理解哪些操作是宽依赖。groupBy、join、repartition 触发 Shuffle,filter、map、select 不触发。记住这个规则就能解决这类题。
| Databricks Apache Spark Developer | Databricks DEA | Databricks Data Engineer Professional | |
|---|---|---|---|
| 机构 | 其他 | 其他 | 其他 |
| 级别 | 助理级 | 助理级 | 专业级 |
| 考试费 | $0 | $0 | $0 |
| 时长 | 90 min | 90 min | 90 min |
| 题量 | 65 | 65 | 65 |
| 有效期 | 3 年 | 3 年 | 3 年 |
**选 Python 还是 Scala 在报名时确定** — 报名后不能换。如果两个都用过但 PySpark 更熟,选 Python。
**DataFrame API 占 50% 分值** — select/filter/join/groupBy/窗口函数是绝对重点,至少刷 30 道题。
**120 分钟 60 题 = 每题 2 分钟** — 时间充裕,但代码题需要逐行读。遇到"这段代码的输出是什么"的题,在脑中模拟执行,注意 null 值处理和列名冲突。
**Community Edition 是免费的练习环境** — 不需要花钱买 Databricks 账号,注册 Community Edition 即可跑所有考试覆盖的 API。
**混淆 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 用的是哪种策略"。没看过真实输出的人根本认不出来。
176+ 练习题、章节学习路径、模考、错题复盘和 AI 导师都在备考页里。
进入备考页$29 起 · 前 2 章可免费试学