DP-203 Develop data processing Practice Question
You are developing an Azure Synapse Analytics serverless SQL pool solution that queries Parquet files in Azure Data Lake Storage Gen2. Analysts run ad-hoc queries with predicates on a high-cardinality column named TransactionId, and each query scans the entire folder, causing high cost. You need to reduce the amount of data scanned per query without changing the file format. What should you do?
⚠ Common exam trap
The trap here is expecting statistics or filepath filtering to skip data for a high-cardinality predicate, when only partition elimination on a low-cardinality key can prune files.
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
✓
Create a partitioned external table where the folder structure is organized by a low-cardinality key and query only the relevant partitions.
Serverless SQL pool reduces cost by reading fewer bytes, and partition elimination is the primary lever for that when the underlying layout supports it. Organizing folders by a low-cardinality key and exposing it through a partitioned external table allows the engine to skip irrelevant directories. Predicates on a high-cardinality column cannot prune files because their values are scattered across every file.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Create an external table over the folder and enable statistics on the TransactionId column.
Why it's wrong here
Statistics help the optimizer choose better plans, but serverless SQL pool still reads the column data to evaluate the predicate. Creating statistics does not physically skip row groups or files, so the scanned bytes remain essentially the same. This approach improves plan quality at best, not the data volume read from storage.
- ✗
Create a partitioned table in a dedicated SQL pool and load the Parquet data into it.
Why it's wrong here
A dedicated SQL pool stores data in its own distribution and would require a full ingestion pipeline, which changes the storage model rather than optimizing the serverless queries. The scenario asks to reduce scanned bytes for ad-hoc queries over the existing Parquet files without changing the file format. Introducing a dedicated pool also adds cost and latency for data movement.
- ✗
Use OPENROWSET with a filepath() predicate to restrict the query to specific files.
Why it's wrong here
The filepath() function lets you filter which files are read, which helps when files are organized by folder. It does not help here because the predicate is on TransactionId, a high-cardinality column whose values are spread across all files. No folder-level filter can eliminate files for a single transaction identifier.
- ✓
Create a partitioned external table where the folder structure is organized by a low-cardinality key and query only the relevant partitions.
Why this is correct
Partitioning the external table on a low-cardinality column such as date or region lets the serverless engine prune entire folders that cannot match the predicate. Queries that filter on that partition column then scan only the relevant directories, sharply reducing bytes read. This preserves the Parquet format and works with the existing file layout once the folder hierarchy reflects the partition key.
Quick reference
Cloud Service Model Comparison
| Model | You Manage | Provider Manages | Examples |
|---|---|---|---|
| IaaS | OS, runtime, apps, data | Hardware, hypervisor, networking | EC2, Azure VMs, GCP Compute Engine |
| PaaS | Apps and data | OS, runtime, middleware, hardware | Elastic Beanstalk, Azure App Service |
| SaaS | Data and settings only | Everything else | Microsoft 365, Salesforce, Workday |
| FaaS / Serverless | Function code only | Infra, scaling, runtime | Lambda, Azure Functions, Cloud Run |
| CaaS | Containers and apps | Kubernetes, OS, hardware | EKS, AKS, GKE |
Go deeper
Related to this question
About these practice questions
Courseiva writes every DP-203 question from scratch — 509 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-203 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-203 exam.