Courseiva
Describe an analytics workload on AzuremediumMultiple ChoiceObjective-mapped

DP-900 Describe an analytics workload on Azure Practice Question

A data engineering team needs to build a batch ETL pipeline that transforms large volumes of clickstream data stored as CSV files in Azure Data Lake Storage Gen2. The transformations require running distributed Python and Scala code using Apache Spark. The transformed data will be loaded into a data warehouse for reporting. The team wants a serverless compute environment that automatically scales and charges per second. Which Azure service should they use to run the Spark transformations?

⚠ Common exam trap

It's easy for candidates to confuse Azure Data Factory's ability to orchestrate Spark jobs with actually running Spark code, leading them to select it instead of recognizing that Synapse Spark pools are the dedicated compute service for executing distributed Python/Scala transformations.

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

Azure Synapse Analytics (Spark pools)

Azure Synapse Analytics (Spark pools) is the correct choice because it provides a serverless Apache Spark compute environment that automatically scales and charges per second, perfectly matching the requirement for running distributed Python and Scala transformations on large volumes of clickstream data stored in Azure Data Lake Storage Gen2. The service integrates directly with the data lake and can load transformed results into a dedicated SQL pool for data warehouse reporting.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Azure Synapse Analytics (Spark pools)

    Why this is correct

    Azure Synapse Analytics Spark pools are the correct choice because they provide a managed, distributed Apache Spark compute engine that can execute arbitrary batch ETL code written in Python, Scala, or SQL. These pools read and write directly from Azure Data Lake Storage Gen2 with optimized in-memory processing, and serverless pools offer per-second billing and automatic pausing, which is ideal for intermittent batch workloads. This is the actual compute environment needed for Spark-based transformations, not merely an orchestration or streaming service.

  • Azure Data Factory

    Why it's wrong here

    Azure Data Factory is a PaaS orchestration and ETL/ELT tool that coordinates data movement, scheduling, and pipeline triggers. It can copy data between stores and invoke external compute services (like Synapse Spark pools, Databricks, or HDInsight) via linked services, but it does not run Spark code itself. Its mapping data flows are visual, code-free transformations that transpile to Spark behind the scenes, yet they do not provide the full flexibility of a native Spark job you would write and submit to a Spark pool. Therefore, ADF alone cannot be the compute environment for your Spark-based batch ETL.

  • Azure Stream Analytics

    Why it's wrong here

    Azure Stream Analytics is designed for real-time, stream processing over data in motion using temporal windows and a SQL-like query language—not for batch ETL on large data lake files. It does not support Python or Scala, nor does it expose an Apache Spark execution engine, so you cannot run distributed Spark transformations with it. While it can write aggregated results to sinks, its low-latency architecture and event-driven model are fundamentally misaligned with a batch Spark workload.

  • Azure Analysis Services

    Why it's wrong here

    Azure Analysis Services is an OLAP and semantic modeling service used to create tabular BI models that serve fast, cube-like queries to tools like Power BI and Excel. It relies on in-memory VertiPaq or DirectQuery to cache and query pre-aggregated data, but it has no Apache Spark compute engine and cannot execute distributed data transformations. It is a downstream consumer of processed data, not a transformation engine, so it is completely irrelevant for building a batch ETL pipeline that requires Spark code for data lake processing.

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.