Troubleshooting, Monitoring, and Optimization
Drill 15 practice questions focused entirely on Troubleshooting, Monitoring, and Optimization for the Databricks Databricks Data Engineer Associate exam. Tap an answer for instant feedback and a full explanation — no sign-up, always free.
An analyst runs the same dashboard query dozens of times per hour against a large Delta table. Each execution rereads the same Parquet files from cloud object storage, and the Spark UI shows most of the stage time spent in remote reads rather than compute. The data changes only once per day after an overnight batch load. Which optimization will most directly reduce the repeated remote-read latency for these interactive queries?
A data engineer manages a Delta table that is continuously written to by a Structured Streaming job with a short micro-batch interval. Analysts complain that read queries against this table have become progressively slower over several days. In the Spark UI, they notice queries are launching thousands of tiny file-scan tasks. The table has no partitioning issues and query filters are appropriate. What is the most likely root cause and appropriate remediation?
A data engineer manages a Lakeflow Declarative (DLT) pipeline that applies several data quality expectations across bronze and silver tables. After a production run, stakeholders report that some downstream metrics look off, and the engineer needs to determine how many records failed each expectation over the last several pipeline updates without manually re-running the pipeline. Which approach provides this historical data quality information most directly?
A data engineer needs to monitor a Lakeflow Declarative Pipeline (formerly Delta Live Tables) to report on how many records failed each expectation over the last several runs. Rather than manually inspecting the pipeline UI each time, they want to query this information programmatically to build an automated data-quality dashboard. What is the most appropriate source for these metrics?
A data engineer manages a large Delta table that is frequently queried with filters on different columns depending on the reporting period — sometimes by region, other times by product_category, and increasingly by sales_rep_id. The team currently uses static partitioning on region, but query performance has degraded and many small files exist within some partitions. They want a layout strategy that adapts to changing query patterns without requiring them to rewrite the table's partitioning scheme each time filter columns change. Which approach best addresses this requirement?
A data engineer manages a large Delta table that is partitioned by `country`. Over time, most partitions have become very small because many countries have few records, while a handful of countries dominate the data. Query performance is inconsistent, and OPTIMIZE runs are slow. The team wants a single approach that avoids the small-file and skew problems of fixed partitioning while still improving data skipping on `country` and `event_date`. What should the engineer do?
A data engineer runs a nightly gold-layer job that performs large SQL aggregations and joins over Delta tables. The job meets its SLA but leadership wants faster runtimes without rewriting the transformation logic. The cluster currently uses a standard Databricks Runtime. Which change is most likely to accelerate this CPU-bound SQL and aggregation workload with minimal code changes?
A data engineer notices that a Spark job processing a large join runs slowly. In the Spark UI, they open the stage details and see that 199 of 200 tasks completed in under 10 seconds, but one task ran for 12 minutes and shuffled far more data than the others. What is the most likely cause of this behavior?
A nightly Databricks job that reads a large Delta table and performs several wide transformations fails intermittently. In the Spark UI, you notice a stage marked as 'Failed' where several tasks show status 'FAILED' with an error 'ExecutorLostFailure (executor 4 exited caused by one of the running tasks) Reason: Container killed by YARN for exceeding memory limits'. What is the most likely root cause you should investigate first?
A data engineer notices that a nightly Spark job is running much slower than usual. In the Spark UI's 'Executors' tab, they see that several executors show 'Task Time (GC Time)' where the GC Time is nearly 40% of the total task time. What is the most likely conclusion from this observation?
A data engineer notices that a nightly ETL job has slowed considerably. In the Spark UI, they observe that a single stage takes 90% of the total job time. Within that stage's summary metrics, the 'Shuffle Read Size' is very large (hundreds of GB) and the stage was triggered by a large groupBy aggregation across many columns. Task durations are relatively uniform (no single straggler). What is the most likely cause of the slowdown revealed by these metrics?
A data engineer notices that a Spark job processing a large aggregation is running much slower than expected. In the Spark UI, they open the Stages tab and see that several tasks in the aggregation stage show large values under the 'Spill (Memory)' and 'Spill (Disk)' columns, while task durations vary only slightly. What does this most likely indicate, and what is an appropriate first action?
A data engineer notices that a Databricks job has been running far longer than usual. Opening the Spark UI, they see one stage where 199 of 200 tasks completed quickly, but a single remaining task has been running for over 40 minutes with a very high 'Shuffle Read Size' compared to the other tasks. What is the most likely cause of this behavior?
A data engineer calls .cache() on a DataFrame that is reused across several downstream transformations, but query times have not improved. They open the Spark UI to confirm whether the DataFrame is actually being cached in memory. Which tab in the Spark UI should they check to verify how much of the DataFrame is cached and where it is stored?
A data engineer runs OPTIMIZE with ZORDER BY on a large Delta table to improve query performance. Most dashboard queries filter on the customer_id column, but a smaller set of queries filter on region. The engineer writes: OPTIMIZE sales ZORDER BY (region, customer_id). After running it, queries filtering only on customer_id show little improvement in data skipping. What is the most likely explanation?
More Databricks Data Engineer Associate practice
Keep going with the other Databricks Certified Data Engineer Associate domains, or take a full timed mock exam.
← Back to Databricks Data Engineer Associate overview