Courseiva
Describe an analytics workload on AzuremediumMultiple ChoiceObjective-mapped

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

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-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 →

How Courseiva writes practice questions · Editorial policy

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.