DP-700 Ingest and Transform Data Practice Question
You are ingesting thousands of small JSON files into a Fabric Lakehouse. You notice that query performance on the resulting Delta table is very poor. Which ingestion strategy should you implement to resolve the 'small files problem'?
⚠ Common exam trap
Candidates often suggest partitioning or indexing rather than file compaction, ignoring that small files create metadata bloat that requires a Spark OPTIMIZE command.
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
✓
Run a Spark Notebook with the OPTIMIZE command on the table.
The 'small files problem' occurs when a large number of tiny files create excessive metadata overhead for the Spark engine. In Fabric, you can resolve this by using the 'Optimize' command or by configuring the Spark engine to compact files during the write process. This combines the small files into larger, more efficient Parquet files.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Use the Copy Activity with the 'Preserve Hierarchy' setting.
Why it's wrong here
Preserving the hierarchy maintains the folder structure of the source but does nothing to solve the small files issue. In fact, it might exacerbate the problem by preventing the engine from consolidating data into fewer, larger files. This setting is more about organization than it is about performance optimization.
- ✓
Run a Spark Notebook with the OPTIMIZE command on the table.
Why this is correct
The OPTIMIZE command in Delta Lake is specifically designed to handle the small files problem. It compacts small Parquet files into larger ones (typically aiming for 1GB). This reduces metadata overhead and significantly improves the speed of read operations for all engines that access the Delta table in Fabric.
- ✗
Convert the JSON files to Avro format before ingestion.
Why it's wrong here
While Avro is a good format for row-based data, it does not solve the file count problem. Analytical queries in Fabric are optimized for Parquet/Delta. Converting to Avro would likely decrease performance and does not address the core issue of having too many small files in the underlying storage layer.
- ✗
Increase the number of partitions in the Spark DataFrame.
Why it's wrong here
Increasing the number of partitions actually creates more files, which would make the small files problem even worse. To solve this issue, you should decrease the number of partitions (using coalesce or repartition) or use the OPTIMIZE command to merge existing files into a smaller, more manageable number.
Visual reference
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.