DP-203 Develop data processing Practice Question
You need to transform data in Azure Databricks using Apache Spark. The data is stored in Delta Lake format in Azure Data Lake Storage Gen2. Which method should you use to read the data into a Spark DataFrame?
⚠ Common exam trap
A common mix-up: candidates assume Delta Lake files are just Parquet files and use `spark.read.parquet()`, missing the critical role of the Delta transaction log for consistency and ACID compliance.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
spark.read.format('delta').load('abfss://container@storage.dfs.core.windows.net/path')
The data is stored in Delta Lake format, which requires using the 'delta' format reader in Spark to properly read the transaction log and schema. The `spark.read.format('delta').load()` method is the standard way to read Delta tables, leveraging the Delta Lake protocol for ACID transactions and time travel capabilities.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
spark.read.parquet('abfss://container@storage.dfs.core.windows.net/path')
Why it's wrong here
Parquet reads the underlying data files but bypasses the Delta transaction log, so it returns stale or partially committed rows and cannot honour deletes, updates or time travel. It is tempting because Delta stores Parquet files, and would be correct for plain Parquet folders without Delta metadata.
- ✓
spark.read.format('delta').load('abfss://container@storage.dfs.core.windows.net/path')
Why this is correct
Using the Delta format reader lets Spark consult the Delta transaction log for schema, partitioning and file listing, rather than inferring structure from raw Parquet files. The abfss:// URI satisfies the stem's Azure Data Lake Storage Gen2 constraint, and Delta Lake's ACID guarantees are preserved on read.
- ✗
spark.read.csv('abfss://container@storage.dfs.core.windows.net/path')
Why it's wrong here
The csv reader parses comma-separated text with no transaction log awareness, so Delta Lake's _delta_log metadata, schema evolution and ACID snapshots are ignored and the read fails or returns raw files. It is tempting because CSV ingestion is common, and would be correct for plain delimited files in the lake.
- ✗
spark.read.json('abfss://container@storage.dfs.core.windows.net/path')
Why it's wrong here
The json reader expects newline-delimited JSON records, not Parquet data files plus a Delta transaction log, so it cannot reconstruct the table's current snapshot. It is tempting because JSON ingestion is routine, and would be correct for raw JSON landing files rather than a Delta table.
Go deeper
Related to this question
About these practice questions
One of 509 original DP-203 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DP-203 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DP-203 exam.