Courseiva
Develop data processing →hardMultiple Choice

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

ModelYou ManageProvider ManagesExamples
IaaSOS, runtime, apps, dataHardware, hypervisor, networkingEC2, Azure VMs, GCP Compute Engine
PaaSApps and dataOS, runtime, middleware, hardwareElastic Beanstalk, Azure App Service
SaaSData and settings onlyEverything elseMicrosoft 365, Salesforce, Workday
FaaS / ServerlessFunction code onlyInfra, scaling, runtimeLambda, Azure Functions, Cloud Run
CaaSContainers and appsKubernetes, OS, hardwareEKS, AKS, GKE

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 →

How Courseiva writes practice questions · Editorial policy

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.