Databricks Associate Developer for Apache Spark - Fact Sheet¶
Exam Overview¶
Exam Name: Databricks Certified Associate Developer for Apache Spark Exam Code: None published (no separate code) Duration: 90 minutes Questions: 45 scored multiple-choice questions, plus up to 10 unscored items Passing Score: Not published; set statistically and may change Cost: $200 USD plus applicable taxes (exam page and guide, read 2026-11-07) Delivery: Online proctored or test center; no test aids Languages: English; all code is in Python Valid For: 2 years; recertify by passing the current exam Retakes: Wait 14 days between attempts; the full fee applies each time Prerequisites: None; related training recommended; 6+ months of hands-on Spark work recommended
Registration: through the exam delivery platform at webassessor.com/databricks (per the exam page). The guide's update table shows "Exam Published October 8, 2026" and "Exam Guide Updated October 8, 2026". The exam page's navigation also calls this certification "Apache Spark Developer Associate".
π Official exam page - format, fee, weights, registration π Exam guide PDF (August 2026) - every objective and sample questions π Apache Spark documentation - the authoritative reference for the engine π Databricks documentation - platform documentation linked from the guide
Sections and Weights¶
| # | Section | Weight |
|---|---|---|
| 1 | Apache Spark Architecture and Components | 20% |
| 2 | Using Spark SQL | 20% |
| 3 | Developing Apache Spark DataFrame/Dataset API Applications | 30% |
| 4 | Troubleshooting and Tuning Apache Spark DataFrame API Applications | 10% |
| 5 | Structured Streaming | 10% |
| 6 | Using Spark Connect to Deploy Applications | 5% |
| 7 | Using Pandas API on Apache Spark | 5% |
Target Audience¶
- Developers and data engineers who write Spark applications in Python
- Data scientists and analysts moving from pandas to distributed processing
- Anyone preparing for Databricks data engineering exams who wants Spark fundamentals first
Section 1: Architecture and Components (20%)¶
π Cluster mode overview - driver, executors, cluster manager π RDD programming guide - lazy evaluation, persistence, shuffles π Tuning Spark - memory and GC
Key Facts: - Driver plans and sends tasks; executors run tasks and cache data; cluster manager allocates resources (Standalone, YARN, Kubernetes) - Action creates a job; shuffle boundaries split stages; one task per partition - Transformations are lazy; actions trigger execution; wide transformations shuffle - repartition shuffles to n balanced partitions; coalesce merges without a full shuffle - cache() for RDDs is MEMORY_ONLY; DataFrame cache reported memory and disk in a local run - Modules: Spark SQL and DataFrames, pandas API on Spark, MLlib, Structured Streaming, GraphX
Section 2: Using Spark SQL (20%)¶
π Generic load/save functions - save modes, partitioning, tables
Key Facts: - Default source is Parquet; save modes: error (default), append, overwrite, ignore; not atomic - partitionBy for low cardinality; bucketBy and sortBy need saveAsTable - SQL on files: SELECT * FROM parquet.`/path` - createOrReplaceTempView is session scoped; global temp views use global_temp - External table (with path) keeps data on drop
Section 3: DataFrame API (30%)¶
π Performance tuning - broadcast threshold and hints π Spark SQL data types - schemas
Key Facts: - explode drops empty arrays; explode_outer keeps them as null - union is by position and keeps duplicates; unionByName is by name - Joins: inner, left, right, full, left_semi, left_anti, crossJoin; list of columns for multiple keys - F.broadcast hint; auto-broadcast threshold 10 MB - from_unixtime renders in the session time zone - Accumulators: exactly once in actions, may repeat in transformations, zero until an action - Python UDFs are row at a time; prefer built-ins
Section 4: Troubleshooting and Tuning (10%)¶
π Performance tuning: AQE - AQE features
Key Facts: - spark.sql.shuffle.partitions 200; spark.sql.files.maxPartitionBytes 128 MB - AQE on by default since 3.2: coalesce partitions (64 MB advisory), switch to broadcast, split skewed partitions (5x median and 256 MB) - Skew fixes: AQE, salting, broadcast; not more executors - Executor logs for OOM and GC; driver for collect problems; Spark UI on port 4040
Section 5: Structured Streaming (10%)¶
π Structured Streaming basics - model and guarantees π Window operations and watermarking - windows and dedup
Key Facts: - Output modes: append, update, complete (complete keeps all state) - Exactly-once: replayable sources, checkpoint, idempotent sinks - Watermark before the aggregation on the same event-time column; append or update mode - Dedup without watermark keeps unbounded state; dropDuplicatesWithinWatermark needs a watermark - distinct and limit are not supported on streams
Section 6: Spark Connect (5%)¶
π Spark Connect overview - architecture π Submitting applications - deploy modes
Key Facts: - Thin client, unresolved logical plans, gRPC, Arrow results; default port 15002; no RDD or SparkContext - Client mode: driver with the submitter; cluster mode: driver on a worker; local: one JVM
Section 7: Pandas API on Spark (5%)¶
π Pandas UDFs - forms and caveats
Key Facts: - import pyspark.pandas as ps runs pandas-style code distributed - Pandas UDF: Series in, Series out, same length; Arrow batches (10,000 rows default) - Forms: Series to Series, Iterator, Series to scalar, grouped map with applyInPandas
Exam Tips¶
- The DataFrame API is 30%. Be able to read code and predict output, including nulls, unions and joins.
- Know lazy versus eager and narrow versus wide cold.
- Do not say "add executors" for skew or a slow single task.
- Streaming: modes, watermark placement, exactly-once ingredients.
- Time: about 2 minutes per question.
Quick Reference¶
df.filter(F.col("amount") > 0).groupBy("customer").agg(F.sum("amount").alias("total"))
c.join(F.broadcast(p), ["id"], "left")
df.write.mode("overwrite").partitionBy("customer").parquet(path)
ev.withWatermark("timestamp", "10 minutes").groupBy(F.window("timestamp", "5 minutes")).count()