其他助理级📊 数据

Databricks Certified Associate Developer for Apache Spark

Prepare for the Databricks Certified Associate Developer for Apache Spark exam with 146 practice questions covering Spark architecture, DataFrame API, Spark SQL, and performance tuning.

65
单次题量
146
题库总量
90m
考试时长
70/100
及格分
?
一句话定论 · 看情况

如果你每天写 PySpark、公司用 Databricks 或 EMR 跑 Spark 作业,这张证是把"散乱的 API 记忆"变成"系统化肌肉记忆"的最快途径;如果你只是纯 SQL 数仓或不碰 Spark,完全没必要考。

这张认证到底考什么

先把考试形式、适合人群、备考时长和学习范围讲清楚,再决定要不要投入时间。

Databricks Certified Associate Developer for Apache Spark 是 Databricks 官方针对"能用 PySpark DataFrame API 写数据处理代码"的开发者发的认证。跟同家的 Data Engineer Associate(DEA)定位不一样:DEA 考的是"在 Databricks 平台上做数据工程"(Delta Lake、Unity Catalog、Workflows 这些平台特性),而 Spark Developer 这张证考的是纯 Apache Spark DataFrame API — 你就算用 AWS EMR、阿里云 EMR、GCP Dataproc、自建 K8s 上跑 Spark,知识也完全适用。

考试基本参数:$200 USD、60 题(单选 + 多选)、120 分钟、通过分 70%、在线 Kryterion Webassessor 监考、证书有效期 2 年、可选 Python(PySpark)或 Scala 版本,99% 的考生选 PySpark。2024 年底 Databricks 把考纲从 Spark 3.0 升级到 Spark 3.5,加入了 Spark Connect 和 Structured Streaming 的 availableNow trigger,旧版备考材料要小心。

考纲 5 大领域权重(Spark 3.5 版本)

  • Apache Spark Architecture Concepts:约 17%(Driver / Executor / Cluster Manager、Lazy Evaluation、Transformations vs Actions、Shuffle、Spark Connect)
  • Apache Spark DataFrame API Applications:约 30%(select、filter、join、groupBy、agg、withColumn、读写各种 Data Source)
  • Apache Spark SQL Functions:约 12%(built-in functions、Window functions、UDF 使用场景)
  • Troubleshooting and Tuning:约 17%(partitioning、caching、broadcast join、AQE、shuffle 调优)
  • Structured Streaming:约 17%(基本概念、trigger、watermark、output mode)
  • 其他(Testing / Debugging):约 7%

市场定位:Apache Spark 至今仍是离线大数据处理的事实标准 — 2025 年 Stack Overflow Developer Survey 里 Spark 在 "Tools used" 的数据工程栏目排名第 3(仅次于 dbt 和 Airflow)。这张证含金量不如 AWS / Azure 云厂商证书那么"路人皆知",但在 Databricks、Shell、HSBC、Block、Rivian、Comcast 这类重度 Spark shop 面试时会被明确加分。比起 DEA,这张更适合已经有 Spark 基础、想证明自己"API 熟练度"的开发者,学习曲线相对平缓。

你会反复碰到的核心服务

Spark Architecture & Cluster ManagementDataFrame API OperationsSpark SQL & Window FunctionsPySpark Data TransformationsJoin Optimization & Broadcast JoinsPartitioning & Shuffle ManagementStructured Streaming BasicsData Source Reading & Writing

学完以后你能带走什么

  • Pass the Databricks Spark certification exam with confidence
  • Master key concepts across all exam domains
  • Identify and strengthen weak areas before the exam

考试详情

考试代码
Databricks Spark
发证机构
其他认证机构
时长
90 分钟
题目数
65
及格分
70/100
有效期
3
题型
single-choice、multiple-choice
考试语言
English
官方页面

适合谁考

适合人群

  • Python/PySpark developers working with Apache Spark DataFrames
  • Data engineers building Spark-based data processing pipelines
  • Big data developers seeking Spark API proficiency certification
  • Analytics professionals using Spark SQL for data analysis

开始前最好先有

  • 6+ months of hands-on experience with Apache Spark
  • Proficiency in Python programming and PySpark basics
  • Understanding of Spark architecture (Driver, Executor, Cluster Manager)
  • Familiarity with DataFrame API and Spark SQL fundamentals

值不值得考?职业价值

Databricks Spark 持证人的薪资区间、对应岗位、以及真实的职业影响。

澳洲
$120K-175KAUD
美国
$130K-205KUSD
中国
¥300K-600KCNY
新加坡
$95K-160KSGD
PySpark DeveloperSpark DeveloperData EngineerBig Data EngineerETL DeveloperAnalytics EngineerDatabricks Engineer数据开发工程师大数据开发工程师

这张证的真实含金量在哪里

跟 AWS SAA 或 Azure AZ-104 那种"地毯式"被招聘 JD 要求的证书不一样,Spark Developer Associate 不会出现在通用 JD 的 "Required Certifications" 列表里。它真正的价值是两个场景:

  1. 简历筛选关:当 JD 写 "Strong PySpark / Spark DataFrame API experience" 时,有这张证能让 HR 在第一轮筛选里直接把你放进"技术过关"档,避免被非技术招聘流程刷掉。尤其是跨境求职(中国工程师投澳洲/新加坡岗位)时,这张证比 LinkedIn 上自称"熟悉 Spark"更有说服力。
  2. 内部晋升 / 团队建设:Databricks 重度客户公司(Shell、HSBC、Block、NAB、Westpac、Coles)内部经常把这张证列为 Data Engineer L2 → L3 晋升的"隐性加分项",因为 manager 要证明团队的"平台成熟度",认证人数是一个硬指标。

各市场真实行情(2026 数据)

  • 澳洲:PySpark / Spark Developer AUD 125-160k(3-5 年经验),Senior 165-200k。主要雇主:Commonwealth Bank、NAB、Westpac、Coles、Woolworths、Telstra、QBE Insurance。澳洲市场特点是 Spark + Azure Databricks 组合占主导(银行业尤其明显),所以 DEA + Spark Dev 双证组合在澳洲比单独 Spark Dev 更值钱。
  • 美国:USD 135-200k,湾区和纽约溢价 25-40%。FAANG 级别公司(Netflix、Apple、Uber、LinkedIn)有大量 Spark 岗位,但他们更看重 GitHub 项目和面试表现,证书本身的权重不高。中型公司(Block、Rivian、Condé Nast、Plaid)比较认 Databricks 系认证。
  • 中国一线:北上深 PySpark / 大数据开发 RMB 30-60 万。主要在字节、阿里、腾讯的离线数据平台团队(虽然国内大厂更多自研 Flink / 内部 Spark fork,但 Spark DataFrame API 知识完全通用)、跨境电商(Shein、TikTok)、新能源车企(小鹏、理想)。Databricks 在国内市场份额极小,主要是外资金融(高盛、汇丰中国、摩根)和跨境业务团队使用。
  • 新加坡:SGD 100-160k,主力雇主是 DBS、OCBC、UOB、Shopee、Lazada、Grab。新加坡 Databricks 用户比澳洲还密集一些。

适合考的人

  1. 已经在写 PySpark 的数据工程师:你每天都在用 DataFrame API,但很多 API 的细节(比如 groupBy 后 agg 的多种写法、Window 函数的 rangeBetween vs rowsBetween、broadcast hint 的强制使用)都是"用的时候查一下"的状态。备考能把这些散乱的知识点系统串起来,实际工作效率会提升一截。
  2. 想进 Databricks / Spark shop 的候选人:转行或跨国求职时,简历上写一张 Databricks 官方发的证比写"熟悉 Spark"更能过初筛。
  3. 刚入门大数据想找第一份工作的学生:相比 AWS Big Data Specialty(已停考)或 CCA175(也停考了),这是目前市面上还在发的少数"Spark 专门证书"之一,能作为校招简历的技术亮点。

不建议考的人

  • 纯 SQL 数据分析师 / BI 开发者:你用的是 Snowflake / BigQuery / Redshift,不写 PySpark,考这个用不上。
  • 非数据岗位:前端、后端、运维、产品 — 这证书对你的岗位零加分。
  • 只用 SparkSQL 不写 DataFrame API 的人:考试 30% 分数在 DataFrame API 细节上,纯 SQL 选手会很吃亏。建议先补 PySpark。
  • 已经考过 DEA 或 DEP 的人:内容高度重叠,再考一次 ROI 不高,除非你要凑"双证"作为简历亮点。

备考节奏

有 AWS 实操经验

3-5

零基础切入

8-12

建议日投入

1.5-2 小时/天

学习路径预览

4
1
Databricks Spark Exam Overview
40 min
2
Databricks
120 min
3
Apache Spark
30 min
4
Exam Preparation & Practice
100 min

分阶段备考路径

过来人总结的分阶段备考节奏,按周拆分,不是空话。

1

第一阶段:搭环境 + 过一遍 DataFrame API(第 1 周)

注册 Databricks Community Edition(免费、单节点 15GB 内存的 Cluster、足够跑所有练习)。用官方示例数据集(`/databricks-datasets/` 目录里的 airlines、diamonds、nyctaxi)跑通 5 个基础 Notebook:(1)读 CSV/Parquet/JSON 成 DataFrame;(2)select / filter / withColumn 基本变换;(3)groupBy + agg 多字段聚合;(4)两种 join 写法(DataFrame API 和 Spark SQL);(5)写 DataFrame 回 Parquet 和 Delta。不要看视频,直接敲代码 — 很多 API 的参数顺序和返回类型只有自己踩过才记得住。

2

第二阶段:深入 Spark 架构 + SQL Functions(第 2-3 周)

读《Learning Spark, 2nd Edition》(O'Reilly, Jules Damji 等著) 的第 1-6 章 — 这本书作者是 Databricks 员工,内容跟考试高度对齐,免费版 PDF 在 Databricks 官网能下载。重点搞懂:Lazy Evaluation 为什么让 filter pushdown 变可能、Transformation 分 Narrow 和 Wide 的区别(map/filter 是 narrow,groupBy/join 是 wide)、Action 触发 Job 的机制、Shuffle 的代价和如何用 broadcast join 避免。Spark SQL Functions 部分必须会:`col`、`lit`、`when/otherwise`、`coalesce`、`expr`、`greatest/least`、日期函数(`date_add`、`date_trunc`、`to_timestamp`)、字符串函数(`split`、`regexp_replace`、`concat_ws`)。Window Functions 是考点重灾区:`row_number`、`rank`、`dense_rank`、`lag`、`lead`、`sum() over (partition by ... order by ...)`,还要会用 `Window.rowsBetween` 和 `Window.rangeBetween` 定义滑动窗口。

3

第三阶段:性能调优 + Structured Streaming(第 4 周)

性能调优是区分及格和高分的关键:理解 AQE(Adaptive Query Execution,Spark 3.0+ 默认开启)、coalescePartitions、skewJoin 的工作原理;会用 `.explain()` 和 `.explain(mode="formatted")` 看物理执行计划;记住 spark.sql.shuffle.partitions 默认 200、生产经常调到 400-2000;broadcast join 的 `broadcast()` hint 和 `spark.sql.autoBroadcastJoinThreshold` 默认 10MB;cache() 和 persist(StorageLevel.MEMORY_AND_DISK) 的区别。Structured Streaming 只考基础:understand trigger 的 4 种模式(default 处理所有可用数据、`processingTime="10 seconds"`、`once=True`、`availableNow=True` — 这个是 Spark 3.3+ 加的,替代了 once)、output mode 三种(append / update / complete)、watermark 对 stateful 聚合的影响。

4

第四阶段:刷题 + 全真模考(第 5-6 周)

Databricks 官网免费提供 1 套 60 题的 Practice Exam(跟真题同源),必刷两遍。JR Academy 148+ 题库按"架构 / DataFrame API / SQL Functions / 调优 / Streaming" 5 大模块刷,每个错题都去官方 PySpark 文档(spark.apache.org/docs/latest/api/python/)查 API 细节。严格按考试环境做 3 次全真模考:关手机、计时 120 分钟、60 题一口气做完、做完再对答案。目标:连续 2 次 ≥ 80% 再约正式考试。考前一天测试 Webassessor 考试系统、摄像头、有线网络。

通过者的真实经验

过来人的备考时长、分数、以及踩过的坑。

我在一家外资银行写 PySpark 3 年了,工作基本能 cover 80% 考点。实际备考时发现自己最薄弱的是 Window Functions — 虽然工作里写过几次,但 `rangeBetween` 和 `rowsBetween` 的区别一直似懂非懂。考题里有 3-4 道题专门考这个,`Window.orderBy("date").rangeBetween(-7, 0)` 对应的是按日期值往前 7 天(不是 7 行),这个细节不深究的话很容易答错。另一个意外是 `broadcast()` hint 的题 — 考题会给你一段 join 代码让你判断优化方案,没背过 autoBroadcastJoinThreshold 默认 10MB 这个数字就会选错。最终 83% 通过。

L. Chen83%
PySpark 数据开发 3 年 · 备考 4 周

我之前 4 年都在写 Scala Spark,核心概念完全熟,以为一周就能考下来 — 结果差点挂。PySpark 的 API 跟 Scala 不是 1:1 的:比如 Scala 里 `df.select($"col")`,PySpark 里是 `df.select(col("col"))` 或 `df.select("col")`;Scala 里 case class 直接转 DataFrame,PySpark 里要写 StructType schema。考试 60 题里有至少 10 题是考"这段 PySpark 代码是否正确",转行者很容易栽。建议从 Scala 转 PySpark 的人至少花 2 周专门敲 PySpark 代码,不要以为"我会 Spark 就行"。

Y. Wu78%
Scala Spark 转 PySpark 的数据工程师 · 备考 6 周

完全零经验,从 Databricks Community Edition 起步。前 4 周全在学基础概念 — 什么是 RDD、什么是 DataFrame、Transformation 和 Action 的区别、为什么要懒求值。中间 3 周重点刷 DataFrame API 和 SQL Functions,这部分题量最大也最实在。最后 3 周刷题和模考。考试当天最紧张的是 Structured Streaming 那部分 — 我完全没有真实项目经验,全靠死背 trigger 模式和 watermark 概念,最后那 10 题大概只答对 6 题。好在其他部分答得不错,72% 擦边过。给应届生的建议:Streaming 不要死记硬背,花 2 天在 Community Edition 跑一个 readStream → writeStream 的小 demo,会好很多。

J. Kumar72%
应届生 / 数据工程方向 · 备考 10 周

同赛道认证对比

Databricks SparkDatabricks DEADatabricks MLP
机构其他其他其他
级别助理级助理级专业级
考试费$0$0$0
时长90 min90 min90 min
单次考试题量656554
有效期3 3 3

备考技巧与常见失误

💡

**Python 版优先选择**:考试有 Python 和 Scala 两个版本,99% 的考生选 Python,JR 题库和官方 Practice Exam 也默认 Python。除非你本职就是 Scala 开发者,否则别挑战 Scala 版。

💡

**官方 Practice Exam 必刷**:Databricks 官网免费提供 1 套 60 题的 Practice Exam,题目质量和真题几乎一致,必须刷两遍。第一遍裸考看差距,第二遍每道题回去查官方文档搞懂"为什么这个选项对"。

💡

**《Learning Spark, 2nd Edition》前 6 章精读**:这本书作者 Jules Damji 是 Databricks 员工,内容跟考纲对齐度最高。Databricks 官网可以免费下载 PDF,比买任何第三方教材都靠谱。第 8 章(Structured Streaming)简读即可 — 考试只考基础概念。

💡

**PySpark 官方 API 文档加书签**:spark.apache.org/docs/latest/api/python/ 是备考期间最频繁访问的页面。很多细节(比如 `dropDuplicates` 的 `subset` 参数接 list of column names、`withColumnRenamed` 只能一次改一列)文档里写得最清楚。

💡

**Databricks Community Edition 动手跑**:所有考点都要在 Notebook 里至少敲一遍 — 特别是 Window Functions、groupBy + agg 的多种写法、broadcast join 的执行计划。光看题不敲代码考试时会很虚。

💡

**在线监考准备**:考试通过 Kryterion Webassessor 在线监考,要求:桌面完全清空(只能有电脑、不能有手机/纸/笔/耳机/水杯)、房间 360° 录像检查、全程脸不能离开摄像头、不能读题出声、必须用有线网络(WiFi 掉线风险大)。提前 30 分钟 check-in,考试系统要提前一天下载测试。

💡

**证书有效期 2 年,可免费续期**:到期前登录 Databricks Credentials 门户做免费的 Recertification Exam(不用再交 $200)— 这点比 AWS Associate 证书(续期要重考 + 交 $150)性价比好。但 Databricks 的 recert 题目也会更新到最新 Spark 版本,不能裸考。

⚠️

**混淆 `select` 和 `withColumn` 的使用场景** — `withColumn("new_col", expr)` 只加一列或替换同名列,每次 withColumn 都会触发一次 projection plan 重建;生产代码里连续 10 个 withColumn 会让 Catalyst 优化变慢。正确做法是多列变换用 `df.select("*", expr1.alias("a"), expr2.alias("b"))` 或 `df.select([col(c) for c in df.columns] + [new_col_expr])`。考题会给一段循环 withColumn 的代码问性能问题在哪。

⚠️

**Window Functions 的 `rangeBetween` vs `rowsBetween` 搞错** — `rowsBetween(-6, 0)` 是往前 6 **行**(不管值是什么),`rangeBetween(-6, 0)` 是往前 6 **个单位的值**(通常要先把 orderBy 的列转成数字或秒数)。如果你写 `Window.orderBy("date").rangeBetween(-7, 0)` 直接用 date 列,Spark 3.5 要求你先把 date 转成 unix timestamp 才能用 range — 很多人不知道这个。

⚠️

**以为 `cache()` 会立刻执行** — `cache()` 是 Transformation,惰性求值。只有在下一个 Action(比如 `count()`、`show()`、`write()`)时才会真的把数据缓存到内存。考题会问"执行完 `df.cache()` 后内存里有数据吗"(没有,要等到 Action 触发)。另外 `cache()` 等价于 `persist(StorageLevel.MEMORY_AND_DISK)`,不是 MEMORY_ONLY — 这是 Spark 2.0+ 改的默认值。

⚠️

**broadcast join 的阈值和强制使用** — `spark.sql.autoBroadcastJoinThreshold` 默认 10MB(不是 100MB 也不是 1GB),超过这个阈值 Spark 不会自动 broadcast。要强制 broadcast 大表(一般不建议,除非你知道自己在干嘛)要用 `df1.join(broadcast(df2), ...)` — 注意 `broadcast()` 是从 `pyspark.sql.functions` 导入的 hint 函数,不是 DataFrame 方法。考题常给你一个 10GB 的 fact 表 join 一个 8MB 的 dim 表问是否会触发 broadcast(会,因为 dim 表 < 10MB)。

⚠️

**Transformation vs Action 记反** — 常见陷阱:`count()` 是 Action、`countDistinct()` 是 Transformation(返回一个 Column 对象要包在 `agg()` 里用)、`show()` 是 Action、`explain()` 是 Action(会触发 physical plan 生成)、`collect()` 是 Action 且会把所有数据拉到 Driver(生产环境慎用)、`take(n)` 是 Action 但只拉 n 行、`cache()` 和 `persist()` 都是 Transformation。考题会给一个 10 个方法调用的链问"触发了几次 Job"。

⚠️

**Structured Streaming 的 trigger 和 output mode 配错** — `complete` output mode 只能和带 aggregation 的 query 搭配(没聚合就没法 complete,会直接报错);`update` mode 只会输出本次 batch 改变的行;`append` mode 不支持没有 watermark 的聚合(因为 Spark 不知道什么时候可以"最终输出")。Spark 3.3+ 加的 `availableNow=True` trigger 替代了 `once=True`,区别是 availableNow 会把未处理的所有数据分批处理、once 只处理一次。考题会问"用 complete mode 处理一个没有 groupBy 的流"会怎么样(报错 AnalysisException)。

⚠️

**UDF 性能陷阱** — Python UDF 会触发 Python <-> JVM 的序列化,性能比内置函数慢 2-10 倍。Spark 2.3+ 引入 Pandas UDF(`@pandas_udf`)用 Arrow 批量传输,性能接近原生。考题会给一段用 Python UDF 写的简单字符串拼接代码让你优化 — 正确答案永远是"用内置的 `concat` 或 `concat_ws` 函数替代 UDF"。面试官常问这个。

⚠️

**`partitionBy` 和 `repartition` 记混** — `df.write.partitionBy("date")` 是**写文件时**按 date 分文件夹(Hive 风格 partitioning);`df.repartition(100, "date")` 是**运行时**把 DataFrame 重新 hash 分到 100 个 partition(影响下游 shuffle)。考题会同时给两个方法问"哪个影响磁盘布局"(partitionBy)和"哪个影响 shuffle 并行度"(repartition)。还要注意 `repartition(n)` 会触发 shuffle,`coalesce(n)` 只在 n 小于当前 partition 数时有效且不触发 shuffle。

常见问题

如果你准备考 Databricks Spark,先从真题型练习开始。

146 道练习题、章节学习路径、模考、错题复盘和 AI 导师都在备考页里。

进入备考页

$29 起 · 前 2 章可免费试学

学员评价

评价加载中…

你可能顺手也会看这些