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
| 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
Azure Synapse Analytics
Azure Synapse Analytics is a cloud-based data integration, warehousing, and analytics service that brings together big data and data warehouse capabilities under one platform.
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.
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.