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
Which Python variable contains a list of directories to be searched when trying to locate required modules?
- A . importlib.resource path
- B . ,sys.path
- C . os-path
- D . pypi.path
- E . pylib.source
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")
In order to facilitate near real-time workloads, a data engineer is creating a helper function to leverage the schema detection and evolution functionality of Databricks Auto Loader. The desired function will automatically detect the schema of the source directly, incrementally process JSON files as they arrive in a source directory, and automatically evolve the schema of the table when new fields are detected.
The function is displayed below with a blank:
Which response correctly fills in the blank to meet the specified requirements?
- A . Option A
- B . Option B
- C . Option C
- D . Option D
- E . Option E
A developer has successfully configured credential for Databricks Repos and cloned a remote Git repository. Hey don not have privileges to make changes to the main branch, which is the only branch currently visible in their workspace.
Use Response to pull changes from the remote Git repository commit and push changes to a branch that appeared as a changes were pulled.
- A . Use Repos to merge all differences and make a pull request back to the remote repository.
- B . Use repos to merge all difference and make a pull request back to the remote repository.
- C . Use Repos to create a new branch commit all changes and push changes to the remote Git repertory.
- D . Use repos to create a fork of the remote repository commit all changes and make a pull request on the source repository
Which statement regarding stream-static joins and static Delta tables is correct?
- A . Each microbatch of a stream-static join will use the most recent version of the static Delta table as of each microbatch.
- B . Each microbatch of a stream-static join will use the most recent version of the static Delta table as of the job’s initialization.
- C . The checkpoint directory will be used to track state information for the unique keys present in the join.
- D . Stream-static joins cannot use static Delta tables because of consistency issues.
- E . The checkpoint directory will be used to track updates to the static Delta table.
Which configuration is ideal for scheduling Structured Streaming jobs for production with considerations for cost and failure recovery?
- A . Cluster: New Job Cluster; Retries: Unlimited; Maximum Concurrent Runs: Unlimited
- B . Cluster: Existing All-Purpose Cluster; Retries: None; Maximum Concurrent Runs: 1
- C . Cluster: New Job Cluster; Retries: None; Maximum Concurrent Runs: 1
- D . Cluster: Existing All-Purpose Cluster; Retries: Unlimited; Maximum Concurrent Runs: 1
The view updates represents an incremental batch of all newly ingested data to be inserted or updated in the customers table.
The following logic is used to process these records.
MERGE INTO customers
USING (
SELECT updates.customer_id as merge_ey, updates .*
FROM updates
UNION ALL
SELECT NULL as merge_key, updates .*
FROM updates JOIN customers
ON updates.customer_id = customers.customer_id
WHERE customers.current = true AND updates.address <> customers.address ) staged_updates
ON customers.customer_id = mergekey
WHEN MATCHED AND customers. current = true AND customers.address <> staged_updates.address
THEN
UPDATE SET current = false, end_date = staged_updates.effective_date
WHEN NOT MATCHED THEN
INSERT (customer_id, address, current, effective_date, end_date) VALUES (staged_updates.customer_id, staged_updates.address, true, staged_updates.effective_date, null)
Which statement describes this implementation?
- A . The customers table is implemented as a Type 2 table; old values are overwritten and new customers are appended.
- B . The customers table is implemented as a Type 1 table; old values are overwritten by new values and no history is maintained.
- C . The customers table is implemented as a Type 2 table; old values are maintained but marked as no longer current and new values are inserted.
- D . The customers table is implemented as a Type 0 table; all writes are append only with no changes to existing values.
A junior developer complains that the code in their notebook isn’t producing the correct results in the development environment. A shared screenshot reveals that while they’re using a notebook versioned with Databricks Repos, they’re using a personal branch that contains old logic. The desired branch named dev-2.3.9 is not available from the branch selection dropdown.
Which approach will allow this developer to review the current logic for this notebook?
- A . Use Repos to make a pull request use the Databricks REST API to update the current branch to dev-2.3.9
- B . Use Repos to pull changes from the remote Git repository and select the dev-2.3.9 branch.
- C . Use Repos to checkout the dev-2.3.9 branch and auto-resolve conflicts with the current branch
- D . Merge all changes back to the main branch in the remote Git repository and clone the repo again
- E . Use Repos to merge the current branch and the dev-2.3.9 branch, then make a pull request to sync with the remote repository
A data engineer wants to reflector the following DLT code, which includes multiple definition with very similar code:

In an attempt to programmatically create these tables using a parameterized table definition, the data engineer writes the following code.

The pipeline runs an update with this refactored code, but generates a different DAG showing
incorrect configuration values for tables.
How can the data engineer fix this?
- A . Convert the list of configuration values to a dictionary of table settings, using table names as keys.
- B . Convert the list of configuration values to a dictionary of table settings, using different input the for loop.
- C . Load the configuration values for these tables from a separate file, located at a path provided by a pipeline parameter.
- D . Wrap the loop inside another table definition, using generalized names and properties to replace with those from the inner table
A production workload incrementally applies updates from an external Change Data Capture feed to a Delta Lake table as an always-on Structured Stream job. When data was initially migrated for this table, OPTIMIZE was executed and most data files were resized to 1 GB. Auto Optimize and Auto Compaction were both turned on for the streaming production job. Recent review of data files shows that most data files are under 64 MB, although each partition in the table contains at least 1 GB of data and the total table size is over 10 TB.
Which of the following likely explains these smaller file sizes?
- A . Databricks has autotuned to a smaller target file size to reduce duration of MERGE operations
- B . Z-order indices calculated on the table are preventing file compaction
- C . Bloom filler indices calculated on the table are preventing file compaction
- D . Databricks has autotuned to a smaller target file size based on the overall size of data in the table
- E . Databricks has autotuned to a smaller target file size based on the amount of data in each partition