DP-700 Monitor and Optimize an Analytics Solution Practice Question
You are optimizing a Spark job in a Fabric notebook that joins a large fact table with a small dimension table. The join operation is causing high memory usage and slow performance. What technique should you implement?
⚠ Common exam trap
Candidates often confuse broadcast joins with repartitioning or caching. They incorrectly assume that increasing cluster nodes or caching the table will solve the shuffle issue, rather than using the broadcast hint.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Use a broadcast join hint.
Broadcasting the smaller table sends a copy of that data to every executor node, preventing the need for a shuffle operation. A shuffle is a costly network-intensive operation where data is redistributed across the cluster. By using a broadcast join, you minimize network traffic and memory pressure, significantly improving the join speed and resource efficiency for large-scale data processing in Spark.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Increase the number of partitions for the large table.
Why it's wrong here
Increasing partitions helps with parallelization, but it does not address the fundamental issue of joining a large table with a small one. It can sometimes worsen performance by introducing additional overhead for managing a higher number of tasks during the join process.
- ✓
Use a broadcast join hint.
Why this is correct
Broadcast join hints instruct the Spark optimizer to send the smaller table to all worker nodes. This eliminates the shuffle phase, allowing the join to happen locally on each node, which is the most efficient way to handle fact-dimension joins when one table is relatively small.
- ✗
Force a cross join.
Why it's wrong here
A cross join returns the Cartesian product of the two tables, which is extremely expensive in terms of both compute and memory. It is almost never the solution for joining fact and dimension tables and would likely cause the job to fail due to OOM errors.
- ✗
Enable dynamic partition pruning.
Why it's wrong here
Dynamic partition pruning is an optimization that skips reading unnecessary partitions. While it improves performance by reducing I/O, it does not directly solve the efficiency problem of joining two tables, especially when one is small enough to fit in memory.
About these practice questions
Courseiva writes every DP-700 question from scratch — 152 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Microsoft exam blueprint
This DP-700 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DP-700 exam.