DP-900 Describe an analytics workload on Azure Practice Question
A company uses Azure Data Lake Storage Gen2 to store IoT sensor data. The data is partitioned by date and sensor ID. A data scientist needs to efficiently query only the last 7 days of data for a specific sensor. Which strategy minimizes the amount of data scanned?
⚠ Common exam trap
A common mix-up: candidates confuse database indexing (Option D) with data lake partitioning, or assume that a WHERE clause alone (Option C) is sufficient to minimize data scanned, not realizing that partition elimination requires a physical directory structure.
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 directory structure that enables partition elimination
Azure Data Lake Storage Gen2 supports hierarchical directory structures that enable partition elimination at the storage layer. By organizing data under a path like `/sensorID=123/date=2025-03-20/`, a query engine (e.g., Azure Synapse Serverless SQL or Spark) can skip entire directories that do not match the filter, drastically reducing the amount of data scanned.
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 a directory structure that enables partition elimination
Why this is correct
Directory-scoped partition elimination works because ADLS Gen2's hierarchical namespace lets query engines (Synapse Serverless SQL, Spark, Databricks) use folder paths as partitions. When a query filters on partition columns—say date=2025-03-08 and sensorID=42—the engine enumerates only those subdirectories and ignores all other folders. For IoT data, this transforms a full-dataset scan into a targeted read, dramatically reducing bytes transferred and query time.
- ✗
Create a view that filters on date and sensor ID
Why it's wrong here
A view in SQL merely stores a query definition; it has no physical manifestation in the data lake. When you query the view, the engine still loads and scans every Parquet file under the original root, because the view's predicate is applied only after initial file discovery. Views are useful for permissions and query simplification, but they cannot modify the storage layout or prune directories at the engine's file enumeration stage.
- ✗
Read all Parquet files and filter using a WHERE clause
Why it's wrong here
Using a WHERE clause alone forces the reader to open every Parquet file in the lake, even if predicate pushdown lets Parquet skip some row groups inside each file. The file discovery and listing of tens of thousands of files dominate I/O cost, and network latency scales with the number of files, not just bytes. Partition elimination avoids this by pruning entire directories, whereas WHERE-only filtering already paid the price of listing and opening irrelevant files.
- ✗
Create an index on the date and sensor ID columns
Why it's wrong here
Azure Data Lake Storage Gen2 is object storage and does not support native secondary-index creation as a transactional database would. While you could build a separate index store (for example, in Hive or Azure Data Explorer) to map column values to file paths, that introduces extra metadata management and lookup latency, and it still requires a storage-level read after the index lookup. Parquet files already carry min/max statistics in their footer, enabling some statistics-based pruning—but for time- and sensor-range queries, directory partitioning gives orders of magnitude better I/O reduction without the overhead of maintaining an external index.
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
Learn chapter
Data Roles and Core Concepts
Key term
Data Lake Storage Gen2
Data Lake Storage Gen2 is a cloud-based storage service that combines a scalable data lake with enterprise-grade file system capabilities for big data analytics.
Key term
Data
Data is raw, unprocessed information, like numbers, words, or measurements, that can be stored, processed, and analyzed by computers.
About these practice questions
Courseiva writes every DP-900 question from scratch — 820 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 by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DP-900 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-900 exam.