logo
其他助理级📊 数据

Databricks Certified Associate Developer for Apache Spark

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

$0
考试费
65
题量
90m
考试时长
70/100
及格分
?
一句话定论 · 看情况

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

会员权益

JR 会员全站通

一个会员解锁全部认证题库、课程折扣和专属工具

  • 全部认证题库免费刷
  • 课程最高 5 折优惠
  • AI 工具 & Chrome 插件
  • 优先预约 1v1 导师
查看会员方案

这张认证到底考什么

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

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
考试费用
$0 USD
题型
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。

FAQ

常见问题

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

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

进入备考页

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

你可能顺手也会看这些