Ingesting from a change data capture feed
Change Data Feed (CDF) is a Delta Lake feature that records row-level INSERT, UPDATE, and DELETE operations on a table, enabling downstream consumers to incrementally process only what changed rather than rescanning full tables. In Azure Databricks, CDF is commonly paired with Delta Live Tables' APPLY CHANGES INTO (SQL) or apply_changes (Python) to build CDC ingestion pipelines that keep target tables in sync with changing source data, including SCD Type 1 and Type 2 patterns.
1 · Learn the must-know
- CDF must be explicitly enabled on a Delta table via the table property delta.enableChangeDataFeed = true, either at CREATE TABLE time or with ALTER TABLE ... SET TBLPROPERTIES.
- Enabled CDF exposes change rows with metadata columns _change_type (insert,
update_preimage,update_postimage, delete), _commit_version, and _commit_timestamp, readable via the readChangeFeed option in batch or streaming reads with startingVersion/startingTimestamp. - Delta Live Tables' APPLY CHANGES INTO (SQL) or
apply_changes(Python) is the recommended way to ingest a CDC feed into a target streaming table, automatically handling inserts, updates, and deletes. - APPLY CHANGES requires a KEYS clause to identify matching rows and a SEQUENCE BY column (typically a timestamp or version) to correctly order out-of-sequence change records.
- The STORED AS SCD TYPE 1 or SCD TYPE 2 option controls whether history is overwritten (Type 1) or preserved with effective/end dates and additional tracking columns (Type 2).
- CDF (Delta's internal change tracking) is distinct from ingesting CDC data emitted by external source systems (e.g., staged insert/delete/update records from a database); APPLY CHANGES can consume either kind of change feed as long as it has keys and a sequencing column.
2 · Check your understanding
A data engineer is building a Delta Live Tables pipeline that ingests a change data capture (CDC) feed from an external OLTP database. The raw files land in cloud storage as JSON records that include the row's primary key, an 'operation' column (INSERT, UPDATE, DELETE), and a 'change_seq' column that reflects the true order of changes in the source system. The target streaming table must always reflect only the current state of each row (no history retained). Which statement should the engineer use in the pipeline definition?
What you have tried across DP-750's objectives, not a readiness score.
Set up and configure an Azure Databricks environment15-20% of the exam0 of 13 tried
Secure and govern Unity Catalog objects15-20% of the exam0 of 12 tried
Prepare and process data30-35% of the exam0 of 28 tried
Deploy and maintain data pipelines and workloads30-35% of the exam0 of 24 tried
3 · Keep going
Ready for more? Take a weighted mock or try free practice questions.