Databricks Databricks Certified Data Engineer Professional Practice Exams
Last updated on Oct 23,2026- Exam Code: Databricks Certified Data Engineer Professional
- Exam Name: Databricks Certified Data Engineer Professional Exam
- Certification Provider: Databricks
- Latest update: Oct 23,2026
A production cluster has 3 executor nodes and uses the same virtual machine type for the driver and executor.
When evaluating the Ganglia Metrics for this cluster, which indicator would signal a bottleneck caused by code executing on the driver?
- A . The five Minute Load Average remains consistent/flat
- B . Bytes Received never exceeds 80 million bytes per second
- C . Total Disk Space remains constant
- D . Network I/O never spikes
- E . Overall cluster CPU utilization is around 25%
A DLT pipeline includes the following streaming tables:
Raw_lot ingest raw device measurement data from a heart rate tracking device.
Bgm_stats incrementally computes user statistics based on BPM measurements from raw_lot.
How can the data engineer configure this pipeline to be able to retain manually deleted or updated records in the raw_iot table while recomputing the downstream table when a pipeline update is run?
- A . Set the skipChangeCommits flag to true on bpm_stats
- B . Set the SkipChangeCommits flag to true raw_lot
- C . Set the pipelines, reset, allowed property to false on bpm_stats
- D . Set the pipelines, reset, allowed property to false on raw_iot
A data engineer wants to join a stream of advertisement impressions (when an ad was shown) with another stream of user clicks on advertisements to correlate when impression led to monitizable clicks.

Which solution would improve the performance?
A)
![]()
B)
![]()
C)
![]()
D)
![]()
- A . Option A
- B . Option B
- C . Option C
- D . Option D
A junior data engineer has been asked to develop a streaming data pipeline with a grouped aggregation using DataFrame df. The pipeline needs to calculate the average humidity and average temperature for each non-overlapping five-minute interval. Events are recorded once per minute per device.
Streaming DataFrame df has the following schema:
"device_id INT, event_time TIMESTAMP, temp FLOAT, humidity FLOAT"
Code block:
Choose the response that correctly fills in the blank within the code block to complete this task.
- A . to_interval("event_time", "5 minutes").alias("time")
- B . window("event_time", "5 minutes").alias("time")
- C . "event_time"
- D . window("event_time", "10 minutes").alias("time")
- E . lag("event_time", "10 minutes").alias("time")
A user new to Databricks is trying to troubleshoot long execution times for some pipeline logic they are working on. Presently, the user is executing code cell-by-cell, using display() calls to confirm code is producing the logically correct results as new transformations are added to an operation. To get a measure of average time to execute, the user is running each cell multiple times interactively.
Which of the following adjustments will get a more accurate measure of how code is likely to perform in production?
- A . Scala is the only language that can be accurately tested using interactive notebooks; because the best performance is achieved by using Scala code compiled to JARs. all PySpark and Spark SQL logic should be refactored.
- B . The only way to meaningfully troubleshoot code execution times in development notebooks Is to use production-sized data and production-sized clusters with Run All execution.
- C . Production code development should only be done using an IDE; executing code against a local build of open source Spark and Delta Lake will provide the most accurate benchmarks for how code will perform in production.
- D . Calling display () forces a job to trigger, while many transformations will only add to the logical query plan; because of caching, repeated execution of the same logic does not provide meaningful results.
- E . The Jobs Ul should be leveraged to occasionally run the notebook as a job and track execution time during incremental code development because Photon can only be enabled on clusters launched for scheduled jobs.
The data architect has decided that once data has been ingested from external sources into the Databricks Lakehouse, table access controls will be leveraged to manage permissions for all production tables and views.
The following logic was executed to grant privileges for interactive queries on a production database to the core engineering group.
GRANT USAGE ON DATABASE prod TO eng;
GRANT SELECT ON DATABASE prod TO eng;
Assuming these are the only privileges that have been granted to the eng group and that these users are not workspace administrators, which statement describes their privileges?
- A . Group members have full permissions on the prod database and can also assign permissions to other users or groups.
- B . Group members are able to list all tables in the prod database but are not able to see the results of any queries on those tables.
- C . Group members are able to query and modify all tables and views in the prod database, but cannot create new tables or views.
- D . Group members are able to query all tables and views in the prod database, but cannot create or edit anything in the database.
- E . Group members are able to create, query, and modify all tables and views in the prod database, but cannot define custom functions.
The data governance team is reviewing user for deleting records for compliance with GDPR.
The following logic has been implemented to propagate deleted requests from the user_lookup table to the user aggregate table.

Assuming that user_id is a unique identifying key and that all users have requested deletion have been removed from the user_lookup table, which statement describes whether successfully executing the above logic guarantees that the records to be deleted from the user_aggregates table are no longer accessible and why?
- A . No: files containing deleted records may still be accessible with time travel until a BACUM command is used to remove invalidated data files.
- B . Yes: Delta Lake ACID guarantees provide assurance that the DELETE command successed fully and permanently purged these records.
- C . No: the change data feed only tracks inserts and updates not deleted records.
- D . No: the Delta Lake DELETE command only provides ACID guarantees when combined with the MERGE INTO command
The data governance team is reviewing user for deleting records for compliance with GDPR.
The following logic has been implemented to propagate deleted requests from the user_lookup table to the user aggregate table.

Assuming that user_id is a unique identifying key and that all users have requested deletion have been removed from the user_lookup table, which statement describes whether successfully executing the above logic guarantees that the records to be deleted from the user_aggregates table are no longer accessible and why?
- A . No: files containing deleted records may still be accessible with time travel until a BACUM command is used to remove invalidated data files.
- B . Yes: Delta Lake ACID guarantees provide assurance that the DELETE command successed fully and permanently purged these records.
- C . No: the change data feed only tracks inserts and updates not deleted records.
- D . No: the Delta Lake DELETE command only provides ACID guarantees when combined with the MERGE INTO command
Which distribution does Databricks support for installing custom Python code packages?
- A . sbt
- B . CRAN
- C . CRAM
- D . nom
- E . Wheels
- F . jars
A data engineer needs to capture pipeline settings from an existing in the workspace, and use them to create and version a JSON file to create a new pipeline.
Which command should the data engineer enter in a web terminal configured with the Databricks CLI?
- A . Use the get command to capture the settings for the existing pipeline; remove the pipeline_id and rename the pipeline; use this in a create command
- B . Stop the existing pipeline; use the returned settings in a reset command
- C . Use the alone command to create a copy of an existing pipeline; use the get JSON command to get the pipeline definition; save this to git
- D . Use list pipelines to get the specs for all pipelines; get the pipeline spec from the return results parse and use this to create a pipeline