Databricks Databricks Certified Data Engineer Professional Practice Exams
Last updated on Oct 22,2026- Exam Code: Databricks Certified Data Engineer Professional
- Exam Name: Databricks Certified Data Engineer Professional Exam
- Certification Provider: Databricks
- Latest update: Oct 22,2026
The data science team has created and logged a production using MLFlow. The model accepts a list of column names and returns a new column of type DOUBLE.
The following code correctly imports the production model, load the customer table containing the customer_id key column into a Dataframe, and defines the feature columns needed for the model.

Which code block will output DataFrame with the schema” customer_id LONG, predictions DOUBLE”?
- A . Model, predict (df, columns)
- B . Df, map (lambda k:midel (x [columns]) ,select (”customer_id predictions”)
- C . Df. Select (”customer_id”.
Model (”columns) alias (”predictions”) - D . Df.apply(model, columns). Select (”customer_id, prediction”
The data governance team is reviewing code used for deleting records for compliance with GDPR.
They note the following logic is used to delete records from the Delta Lake table named users.

Assuming that user_id is a unique identifying key and that delete_requests contains all users that have requested deletion, which statement describes whether successfully executing the above logic guarantees that the records to be deleted are no longer accessible and why?
- A . Yes; Delta Lake ACID guarantees provide assurance that the delete command succeeded fully and permanently purged these records.
- B . No; the Delta cache may return records from previous versions of the table until the cluster is restarted.
- C . Yes; the Delta cache immediately updates to reflect the latest data files recorded to disk.
- D . No; the Delta Lake delete command only provides ACID guarantees when combined with the merge into command.
- E . No; files containing deleted records may still be accessible with time travel until a vacuum command is used to remove invalidated data files.
In which scenario would a Databricks workspace administrator configure clusters to terminate after 30 minutes of inactivity?
- A . To control costs
- B . To increase performance
- C . To reserve resources for high-priority jobs
- D . To enforce security best practices
- E . To reduce the risk of data leaks
A CHECK constraint has been successfully added to the Delta table named activity_details using the following logic:
A batch job is attempting to insert new records to the table, including a record where latitude = 45.50 and longitude = 212.67.
Which statement describes the outcome of this batch insert?
- A . The write will fail when the violating record is reached; any records previously processed will be recorded to the target table.
- B . The write will fail completely because of the constraint violation and no records will be inserted into the target table.
- C . The write will insert all records except those that violate the table constraints; the violating records will be recorded to a quarantine table.
- D . The write will include all records in the target table; any violations will be indicated in the boolean column named valid_coordinates.
- E . The write will insert all records except those that violate the table constraints; the violating records will be reported in a warning log.
The data engineering team has configured a job to process customer requests to be forgotten (have their data deleted). All user data that needs to be deleted is stored in Delta Lake tables using default table settings.
The team has decided to process all deletions from the previous week as a batch job at 1am each Sunday. The total duration of this job is less than one hour. Every Monday at 3am, a batch job executes a series of VACUUM commands on all Delta Lake tables throughout the organization.
The compliance officer has recently learned about Delta Lake’s time travel functionality. They are concerned that this might allow continued access to deleted data.
Assuming all delete logic is correctly implemented, which statement correctly addresses this concern?
- A . Because the vacuum command permanently deletes all files containing deleted records, deleted records may be accessible with time travel for around 24 hours.
- B . Because the default data retention threshold is 24 hours, data files containing deleted records will be retained until the vacuum job is run the following day.
- C . Because Delta Lake time travel provides full access to the entire history of a table, deleted records can always be recreated by users with full admin privileges.
- D . Because Delta Lake’s delete statements have ACID guarantees, deleted records will be permanently purged from all storage systems as soon as a delete job completes.
- E . Because the default data retention threshold is 7 days, data files containing deleted records will be retained until the vacuum job is run 8 days later.
The following code has been migrated to a Databricks notebook from a legacy workload:

The code executes successfully and provides the logically correct results, however, it takes over 20 minutes to extract and load around 1 GB of data.
Which statement is a possible explanation for this behavior?
- A . %sh triggers a cluster restart to collect and install Git. Most of the latency is related to cluster startup time.
- B . Instead of cloning, the code should use %sh pip install so that the Python code can get executed in parallel across all nodes in a cluster.
- C . %sh does not distribute file moving operations; the final line of code should be updated to use %fs
instead. - D . Python will always execute slower than Scala on Databricks. The run.py script should be refactored to Scala.
- E . %sh executes shell code on the driver node. The code does not take advantage of the worker nodes or Databricks optimized Spark.
A data engineer is performing a join operating to combine values from a static userlookup table with a streaming DataFrame streamingDF.
Which code block attempts to perform an invalid stream-static join?
- A . userLookup.join(streamingDF, ["userid"], how="inner")
- B . streamingDF.join(userLookup, ["user_id"], how="outer")
- C . streamingDF.join(userLookup, ["user_id”], how="left")
- D . streamingDF.join(userLookup, ["userid"], how="inner")
- E . userLookup.join(streamingDF, ["user_id"], how="right")
Where in the Spark UI can one diagnose a performance problem induced by not leveraging predicate push-down?
- A . In the Executor’s log file, by gripping for "predicate push-down"
- B . In the Stage’s Detail screen, in the Completed Stages table, by noting the size of data read from the Input column
- C . In the Storage Detail screen, by noting which RDDs are not stored on disk
- D . In the Delta Lake transaction log. by noting the column statistics
- E . In the Query Detail screen, by interpreting the Physical Plan
A table in the Lakehouse named customer_churn_params is used in churn prediction by the machine learning team. The table contains information about customers derived from a number of upstream sources. Currently, the data engineering team populates this table nightly by overwriting the table with the current valid values derived from upstream data sources.
The churn prediction model used by the ML team is fairly stable in production. The team is only interested in making predictions on records that have changed in the past 24 hours.
Which approach would simplify the identification of these changed records?
- A . Apply the churn model to all rows in the customer_churn_params table, but implement logic to perform an upsert into the predictions table that ignores rows where predictions have not changed.
- B . Convert the batch job to a Structured Streaming job using the complete output mode; configure a Structured Streaming job to read from the customer_churn_params table and incrementally predict against the churn model.
- C . Calculate the difference between the previous model predictions and the current
customer_churn_params on a key identifying unique customers before making new predictions; only make predictions on those customers not in the previous predictions. - D . Modify the overwrite logic to include a field populated by calling
spark.sql.functions.current_timestamp() as data are being written; use this field to identify records written on a particular date. - E . Replace the current overwrite logic with a merge statement to modify only those records that have changed; write logic to make predictions on the changed records identified by the change data feed.
The following table consists of items found in user carts within an e-commerce website.

The following MERGE statement is used to update this table using an updates view, with schema evaluation enabled on this table.

How would the following update be handled?
- A . The update is moved to separate ”restored” column because it is missing a column expected in the target schema.
- B . The new restored field is added to the target schema, and dynamically read as NULL for existing unmatched records.
- C . The update throws an error because changes to existing columns in the target schema are not supported.
- D . The new nested field is added to the target schema, and files underlying existing records are updated to include NULL values for the new field.