Courseiva

Microsoft Azure Data Engineer Associate DP-203 (DP-203) — Questions 301–375

509 questions total · 7pages · All types, answers revealed

Page 4

Page 5 of 7

Page 6
301
MCQhard

Refer to the exhibit. A data engineer notices that the copy activity sometimes copies 0 rows despite reading 1 million rows. What is the most likely cause?

A.The source table is being updated between pipeline runs, but the copy activity is not configured to upsert.
B.The source query includes a 'WHERE' clause that filters out all rows on alternate runs.
C.The pipeline is using a full load each time, overwriting the sink, so the second run sees the same data and skips because the sink already has it.
D.The sink is a file system that fails to write due to permission issues.
AnswerB

An incremental load pattern uses a WHERE clause (e.g., WHERE LastModified > @{pipeline().parameters.lastRun}) that returns zero rows when no changes have occurred, resulting in 0 rows copied despite the source having 1 million rows.

Why this answer

In Azure Data Factory, the copy activity can be configured for incremental loads by using a source query with a WHERE clause that filters rows based on a watermark (e.g., last modified timestamp). On pipeline runs where no new or updated rows exist in the source table, this WHERE clause will return zero rows. Although the source table contains 1 million rows, the incremental filter causes the copy activity to read and write 0 rows.

This is the most likely cause of the described behavior.

302
MCQeasy

You need to store log files from multiple applications in a central location for long-term retention and occasional analysis. The data is rarely accessed after 30 days. Which storage solution should you use to minimize cost?

A.Azure Files
B.Azure Data Lake Storage Gen2
C.Azure Cosmos DB
D.Azure Blob Storage (cool or archive tier)
AnswerD

Azure Blob Storage cool or archive tiers satisfy the long-term retention and infrequent access constraints by storing data at lower cost than hot tier, while archive offers the cheapest per-GB rate for data rarely read. Lifecycle policies can automatically transition blobs after 30 days, minimising spend for occasional analysis.

Why this answer

Azure Blob Storage with cool or archive tier is the most cost-effective solution for storing log files that are rarely accessed after 30 days. The cool tier offers low storage costs with higher access costs, while the archive tier provides the lowest storage cost but requires rehydration for access, making both ideal for long-term retention and occasional analysis.

Exam trap

The trap here is that candidates may choose Azure Data Lake Storage Gen2 for its analytics capabilities, overlooking that blob storage tiers are specifically designed for cost-efficient long-term retention of infrequently accessed data.

How to eliminate wrong answers

Option A is wrong because Azure Files provides fully managed file shares using SMB protocol, which is designed for shared access and active workloads, not for cost-optimized long-term archival storage. Option B is wrong because Azure Data Lake Storage Gen2 is optimized for big data analytics with hierarchical namespace and high-throughput access, incurring higher storage costs than blob storage tiers for infrequently accessed data. Option C is wrong because Azure Cosmos DB is a NoSQL database with low-latency access and global distribution, designed for transactional workloads, not for cost-efficient long-term retention of log files.

303
MCQmedium

You are designing an Azure Synapse Analytics pipeline that uses a Mapping Data Flow to transform data from Azure Data Lake Storage Gen2. The data flow must handle schema drift, where new columns can appear in the source files over time. You need to ensure that the new columns are automatically included in the sink output without modifying the data flow. What should you do?

A.Enable Allow schema drift on the source transformation and use a derived column to map new columns.
B.Use a Select transformation to rename columns and enable schema drift on the sink only.
C.Enable Allow schema drift on the source and sink, and use the sink's automatic mapping.
D.Use a Flatten transformation and enable schema drift on the source.
AnswerC

Enabling Allow schema drift on both the source and sink allows the data flow to read new columns from the source and write them to the sink without explicit mapping. The sink's automatic mapping picks up the drifted columns at runtime. This satisfies the requirement to include new columns automatically without editing the data flow when the source schema changes.

Why this answer

Schema drift in Mapping Data Flows requires enabling Allow schema drift on both the source and the sink. The source reads new columns at runtime, and the sink's automatic mapping writes them to the destination without predefined column mappings. Using derived columns, Select, or Flatten transformations does not automatically propagate unknown columns and would require manual changes when the schema evolves.

Exam trap

The trap here is enabling schema drift only on the source or only on the sink, while both are required for new columns to flow through automatically.

304
MCQeasy

Which Azure service is primarily used for orchestrating data pipelines in a cloud-native ETL workflow?

A.Azure Data Factory
B.Azure Synapse Analytics
C.Azure HDInsight
D.Azure Databricks
AnswerA

Azure Data Factory provides cloud-native pipeline orchestration, with activities, triggers, linked services and integration runtimes that schedule and coordinate ETL movement across sources and sinks. It satisfies the orchestration requirement rather than merely storing or querying the transformed data.

Why this answer

Azure Data Factory (ADF) is the correct answer because it is a cloud-native, serverless data integration service specifically designed for orchestrating and automating data pipelines. ADF provides a code-free visual interface, supports over 90 built-in connectors, and enables complex ETL/ELT workflows with control flow, data flow, and trigger-based scheduling, making it the primary orchestration tool in Azure.

Exam trap

The trap here is that candidates confuse Azure Synapse Analytics (which includes pipeline capabilities) as the primary orchestrator, but Synapse pipelines are actually built on Azure Data Factory, and the exam expects you to identify ADF as the dedicated, cloud-native orchestration service.

Why the other options are wrong

B

Synapse is an analytics platform that includes pipelines but is not primarily an orchestration-only service.

C

HDInsight is a managed Hadoop/Spark cluster, not a pipeline orchestrator.

D

Databricks is a collaborative data engineering environment, not an orchestration service.

305
MCQmedium

You are monitoring an Azure Data Factory pipeline that copies data from an on-premises SQL Server to Azure Data Lake Storage Gen2. The pipeline uses a self-hosted integration runtime. You notice that the copy activity sometimes takes much longer than expected, and you suspect network bottlenecks. You need to optimize the copy performance by adjusting the degree of parallelism. Which setting should you modify?

A.The 'parallelCopies' property in the copy activity.
B.The 'maxConcurrentConnections' property in the linked service.
C.The 'dataIntegrationUnits' property in the copy activity.
D.The 'throughput' setting in the self-hosted integration runtime configuration.
AnswerA

The 'parallelCopies' property controls the number of parallel threads used by the copy activity to read from and write to data stores. Increasing it can improve throughput when the source and sink can handle the load, but it must be balanced with available resources. This directly addresses network bottlenecks by allowing more concurrent connections.

Why this answer

The 'parallelCopies' property in a copy activity determines how many parallel threads are used to read from the source and write to the sink. For network-bound transfers, increasing this value can improve throughput by utilizing more concurrent connections. However, it should be tuned based on the capabilities of the source and sink to avoid overwhelming them.

Exam trap

The trap here is assuming that increasing Data Integration Units (DIUs) directly controls parallelism. DIUs allocate compute resources, but the degree of parallelism for data movement is set by 'parallelCopies'.

306
MCQeasy

You are building an Azure Data Factory pipeline that must copy data from an on-premises SQL Server to Azure Blob Storage. The pipeline runs on a schedule every hour. You need to ensure that the copy activity can securely access the on-premises SQL Server. What should you configure?

A.A VPN gateway between the on-premises network and Azure.
B.A self-hosted integration runtime installed on a machine in the on-premises network.
C.An Azure Integration Runtime with a managed virtual network.
D.An Azure SQL Database linked service with a private endpoint.
AnswerB

A self-hosted integration runtime acts as a bridge between Azure Data Factory and on-premises data sources. It is installed on a machine within the corporate network and can securely connect to on-premises SQL Server. This is the standard method for hybrid data movement, ensuring secure and reliable connectivity without exposing the on-premises server to the internet.

Why this answer

To copy data from an on-premises SQL Server, Azure Data Factory requires a self-hosted integration runtime. This component is installed on a machine in the on-premises network and handles the data movement securely. Other options either do not provide on-premises connectivity or are meant for different Azure services.

Exam trap

The trap here is confusing network connectivity (like VPN) with the specific integration runtime needed for data factory to access on-premises data.

307
MCQeasy

You need to ensure that sensitive data stored in Azure SQL Database is encrypted at rest. Which feature should you enable?

A.Always Encrypted
B.Azure Information Protection
C.Dynamic Data Masking
D.Transparent Data Encryption (TDE)
AnswerD

Transparent Data Encryption performs real-time encryption and decryption of the database, associated backups, and transaction log files at rest without application changes. It satisfies the requirement by encrypting Azure SQL Database storage using an AES-256 symmetric key protected by a service-managed or customer-managed certificate in Microsoft Entra ID-backed key vaults.

Why this answer

Transparent Data Encryption (TDE) should be enabled to ensure sensitive data stored in Azure SQL Database is encrypted at rest. TDE encrypts the database, backups, and log files at rest without requiring changes to the application.

Exam trap

Candidates often confuse Always Encrypted with TDE; Always Encrypted is for column-level encryption and requires app changes, while TDE is for entire database at rest.

How to eliminate wrong answers

Option A is wrong because Always Encrypted is for encrypting specific columns and requires application changes; it does not encrypt the entire database at rest. Option B is wrong because Azure Information Protection is for classifying and protecting data, not for database encryption at rest. Option C is wrong because Dynamic Data Masking limits data exposure but does not encrypt data at rest.

308
MCQmedium

You are using Azure Data Factory to copy data from an Azure SQL Database to an Azure Data Lake Storage Gen2 account. The copy activity is failing intermittently with a timeout error. You need to improve the throughput and reliability of the copy operation. What should you do?

A.Increase the degree of copy parallelism and enable staged copy.
B.Configure the copy activity to use a single thread with a larger batch size.
C.Set the copy activity's fault tolerance to skip incompatible rows.
D.Change the source dataset to use a stored procedure that returns all rows at once.
AnswerA

Increasing the degree of copy parallelism allows multiple concurrent connections to the source, improving throughput. Enabling staged copy uses a temporary staging area in Blob Storage or ADLS Gen2 to decouple extraction and loading, which can improve reliability and performance for large datasets. This combination addresses both throughput and intermittent timeouts.

Why this answer

Intermittent timeouts often occur when a single connection cannot sustain the load. Increasing the degree of copy parallelism opens more concurrent connections, distributing the load. Staged copy separates the read and write phases, reducing the chance of timeouts during the write to ADLS Gen2.

Together, these settings improve both throughput and reliability for large-scale copies.

Exam trap

The trap here is assuming that fault tolerance or larger batch sizes solve timeouts, when the real fix is increasing parallelism and using staging.

309
MCQeasy

You have an Azure Data Lake Storage Gen2 account that stores log files. You need to implement a data retention policy so that logs older than 90 days are automatically deleted. What should you use?

A.Azure Policy
B.Lifecycle management policy
C.Azure Blob Storage inventory
D.Microsoft Purview
AnswerB

A lifecycle management policy applies rule-based actions to blobs, including deletion once an object reaches a specified age. Setting a 90-day threshold automatically removes older log files, satisfying the retention requirement without custom code or manual intervention.

Why this answer

A lifecycle management policy can automatically delete blobs based on age. Option A is wrong because Azure Policy enforces compliance but does not delete. Option C is wrong because Azure Blob Storage inventory provides reports but does not delete.

Option D is wrong because Azure Purview scopes metadata and data discovery, not lifecycle management.

310
MCQmedium

You are designing a data storage solution for a global e-commerce company. The company needs to store clickstream data from millions of users with high write throughput and low-latency reads for real-time analytics. The data is semi-structured and includes nested JSON objects. Which Azure data store should you recommend?

A.Azure Cosmos DB
B.Azure Table Storage
C.Azure SQL Database
D.Azure Blob Storage
AnswerA

Azure Cosmos DB satisfies the high write throughput, low-latency read, and semi-structured nested JSON requirements through its schema-agnostic document model and partition-based horizontal scale. Its multi-region replication supports the global footprint, while the SQL API queries nested objects natively without transformation, unlike columnar or relational stores.

Why this answer

Azure Cosmos DB is the correct choice because it provides a multi-model, globally distributed database service with guaranteed single-digit-millisecond read and write latencies at the 99th percentile, making it ideal for high-throughput clickstream ingestion and real-time analytics. Its native support for semi-structured data and nested JSON objects via the SQL API (or MongoDB API) allows direct storage and querying of complex event payloads without schema flattening. Additionally, Cosmos DB offers automatic indexing and tunable consistency levels to balance performance and data freshness for global e-commerce scenarios.

Exam trap

The trap here is that candidates often choose Azure Table Storage because it is a NoSQL store, but they overlook its lack of native JSON support and sub-10ms latency guarantees, confusing its simple key-value model with the richer document capabilities of Cosmos DB.

How to eliminate wrong answers

Option B (Azure Table Storage) is wrong because it is a NoSQL key-value store that does not natively support nested JSON objects; it requires flattening complex structures into flat key-value pairs, which adds overhead and complicates real-time analytics on clickstream data. Option C (Azure SQL Database) is wrong because it is a relational database that enforces a fixed schema, making it poorly suited for semi-structured, schema-on-read clickstream data with varying nested JSON fields; it also cannot match Cosmos DB's sub-10ms write throughput at scale. Option D (Azure Blob Storage) is wrong because it is an object store designed for large, unstructured binary data (e.g., images, logs) and does not provide low-latency, indexed query capabilities for real-time analytics on individual clickstream events; it lacks native support for querying nested JSON without additional compute layers like Azure Data Lake or Synapse.

311
MCQhard

You are processing a large dataset in Azure Synapse Analytics using a dedicated SQL pool. You need to load data from Parquet files in Azure Data Lake Storage Gen2 into a staging table, then transform and load into a fact table. The fact table is partitioned by date. You want to maximize query performance and minimize data movement. Which technique should you use?

A.Use Azure Data Factory Copy activity to load data into the fact table, then run an UPDATE statement to transform
B.Use CETAS to export the transformed data to Azure Data Lake Storage Gen2, then use PolyBase to load into the fact table
C.Use BULK INSERT to load data directly into the fact table
D.Use PolyBase to load data into a staging table, then use CREATE TABLE AS SELECT (CTAS) to transform and load into the fact table
AnswerD

PolyBase efficiently loads Parquet files from Azure Data Lake Storage Gen2 into a staging table. CTAS then creates a new table with the transformed data, which can be partitioned and distributed optimally. This approach minimizes data movement because CTAS writes directly to the new table, and you can define the distribution and partitioning to match the fact table's requirements, improving query performance.

Why this answer

PolyBase is the most efficient way to load Parquet files into a staging table in a dedicated SQL pool. CTAS then transforms and loads the data into a new table, allowing you to define the distribution and partitioning to optimize query performance. This minimizes data movement because the transformation and load happen within the SQL pool.

The other options either use unsupported features, cause inefficient updates, or add unnecessary data movement.

Exam trap

The trap here is assuming that BULK INSERT supports Parquet files; it does not, and using it would fail or require conversion.

312
MCQmedium

A company is designing a data lake solution on Azure Data Lake Storage Gen2. Data will be ingested from IoT devices at high frequency (every 5 seconds). Each device sends a JSON payload of 2 KB. The data must be stored in a hierarchical namespace and partitioned by date and device ID to optimize query performance. Which partition strategy should be used?

A.Use Azure SQL Database with clustered columnstore index on date and device ID.
B.Organize folders as /YYYY/MM/DD/DeviceID/ in ADLS Gen2 and use file naming that includes timestamp.
C.Use Azure Table Storage with PartitionKey set to date and RowKey set to device ID.
D.Use Azure Cosmos DB with partition key on (date, device ID) and TTL for data retention.
AnswerB

ADLS Gen2 hierarchical namespace supports true directory semantics, so /YYYY/MM/DD/DeviceID/ paths let partition pruning skip irrelevant folders during queries. Date-first ordering suits time-range filters, while DeviceID narrows per-device scans, and timestamped filenames preserve ingestion order within each partition.

Why this answer

ADLS Gen2 with a hierarchical namespace allows folder-based partitioning by date and device ID (e.g., /YYYY/MM/DD/DeviceID/), which directly maps to the query optimization requirement. This structure enables efficient partition pruning for time-range and device-specific queries, and the high-frequency 2 KB JSON payloads are well-suited for append-friendly file naming with timestamps.

Exam trap

The trap here is that candidates confuse storage services (ADLS Gen2) with database or NoSQL solutions (SQL Database, Table Storage, Cosmos DB), failing to recognize that the question explicitly requires a data lake with a hierarchical namespace, which only ADLS Gen2 provides.

How to eliminate wrong answers

Option A is wrong because Azure SQL Database with a clustered columnstore index is a relational store, not a data lake solution, and it does not support a hierarchical namespace or folder-based partitioning as required. Option C is wrong because Azure Table Storage is a NoSQL key-value store that lacks a hierarchical namespace and folder organization; its PartitionKey/RowKey model does not provide the folder-based partitioning by date and device ID needed for ADLS Gen2. Option D is wrong because Azure Cosmos DB is a globally distributed NoSQL database, not a data lake storage service, and its partition key on (date, device ID) does not create a hierarchical folder structure in ADLS Gen2.

313
MCQmedium

You are designing a streaming solution in Azure Synapse Analytics using the serverless SQL pool to query streaming data in real-time. The data is ingested via Azure Event Hubs and processed using Azure Stream Analytics. The output of Stream Analytics is written to Azure Data Lake Storage Gen2 in Delta Lake format. You need to ensure that the serverless SQL pool can query the latest data with minimal latency. Which approach should you use?

A.Ingest data directly from Event Hubs into serverless SQL pool using CETAS (CREATE EXTERNAL TABLE AS SELECT).
B.Use a materialized view in serverless SQL pool that refreshes every minute.
C.Load the streaming data into a dedicated SQL pool using a scheduled pipeline and then query it from serverless SQL pool.
D.Create an external table in serverless SQL pool that points to the Delta Lake folder and query it directly.
AnswerD

Serverless SQL pool supports Delta Lake format and can query it as soon as data is written.

Why this answer

Serverless SQL pool can directly query Delta Lake format files stored in Azure Data Lake Storage Gen2 by creating an external table with LOCATION pointing to the Delta folder. This allows real-time querying of the latest streaming data without any data movement or transformation, achieving minimal latency since Stream Analytics writes continuously to Delta Lake.

Exam trap

The trap here is that candidates may confuse serverless SQL pool with dedicated SQL pool and assume features like materialized views or scheduled pipelines are available, or they may think CETAS can directly ingest from Event Hubs, which is not supported.

How to eliminate wrong answers

Option A is wrong because CETAS creates a new external table by selecting data from a source, but it cannot ingest data directly from Event Hubs; it requires a source like an existing external table or file set, and it does not support real-time streaming ingestion. Option B is wrong because serverless SQL pool does not support materialized views; materialized views are a feature of dedicated SQL pool, not serverless. Option C is wrong because loading data into a dedicated SQL pool via a scheduled pipeline introduces batch latency (scheduled intervals), which contradicts the requirement for minimal latency in a streaming solution.

314
MCQeasy

A logistics company needs to store shipment tracking events in Azure Cosmos DB. Events are written continuously throughout the day, and the most common query pattern retrieves all events for a specific shipment ID ordered by timestamp. The workload is write-heavy and must scale horizontally across partitions. Which partition key should you choose?

A.Use the shipment ID as the partition key.
B.Use the event timestamp as the partition key.
C.Use the event type as the partition key.
D.Use a synthetic key formed by concatenating the event timestamp and a random GUID.
AnswerA

Shipment ID distributes writes across partitions while co-locating all events for a given shipment in one logical partition. The common query for a shipment's events ordered by timestamp becomes a single-partition query, which is efficient and cheap in request units.

Why this answer

The partition key should align with the dominant query pattern while distributing writes. Using shipment ID places all events for a shipment in the same logical partition, so the common query executes as a single-partition operation, and the high cardinality of shipment IDs spreads write traffic across physical partitions. Timestamp, event type, or random synthetic keys either cause cross-partition fan-out or create hot partitions.

Exam trap

The trap here is choosing a high-cardinality key purely for write distribution without checking whether it matches the most frequent query filter.

315
MCQhard

Your team is migrating an on-premises SQL Server data warehouse to Azure Synapse Analytics. The source data includes fact tables and dimension tables with complex relationships. You need to design the storage in Azure Synapse to minimize query latency for star schema queries. Which distribution and index strategy should you use for the fact table?

A.Hash distribution on the most joined dimension key with clustered columnstore index
B.Round-robin distribution with clustered columnstore index
C.Replicated distribution with clustered columnstore index
D.Hash distribution on a dimension key with heap index
AnswerA

Hash distribution on the most joined dimension key co-locates matching rows on the same compute node, eliminating costly data movement during star schema joins. A clustered columnstore index compresses columnar fact data and delivers the high scan throughput that aggregation-heavy queries demand, directly minimising query latency.

Why this answer

Hash distribution on the most joined dimension key ensures that rows with the same key value are co-located on the same distribution, minimizing data movement during star schema joins. A clustered columnstore index provides high compression and batch-mode processing, which significantly reduces query latency for analytical workloads in Azure Synapse.

Exam trap

The trap here is that candidates often choose round-robin distribution thinking it balances load evenly, but they overlook the severe join performance penalty caused by data movement across distributions in star schema queries.

How to eliminate wrong answers

Option B is wrong because round-robin distribution distributes rows evenly without considering join keys, causing excessive data shuffling across distributions during joins, which increases query latency. Option C is wrong because replicated distribution copies the entire table to each distribution node, which is impractical for large fact tables due to storage overhead and data movement during updates. Option D is wrong because a heap index lacks ordering and compression, leading to full table scans and poor query performance for star schema queries.

316
MCQeasy

You need to transform semi-structured JSON data into a tabular format for analysis in Azure Synapse Analytics. The data is stored in ADLS Gen2. Which feature should you use to query the JSON data directly without loading it into a table?

A.Use the OPENROWSET function in a serverless SQL pool.
B.Use Azure Data Factory to flatten the JSON and store as Parquet.
C.Create an external table using PolyBase.
D.Use the COPY INTO command in a dedicated SQL pool.
AnswerA

OPENROWSET in a serverless SQL pool queries JSON files directly from ADLS Gen2, using WITH clauses to shred semi-structured documents into relational columns. This satisfies the stem's constraint of querying without loading into a table, since serverless pools read files in place and charge only for data processed.

Why this answer

OPENROWSET in Synapse serverless SQL can query JSON files directly. Option B (Azure Data Factory) flattens JSON but is an orchestration tool, not a direct query method. Option C (PolyBase) requires external tables.

Option D (COPY INTO) loads data into a table, not direct query.

317
MCQeasy

A company runs a streaming pipeline using Azure Stream Analytics to ingest IoT data and output to Azure SQL Database. They notice that the output latency increases over time and eventually the job fails with a timeout error. What is the most likely cause?

A.The Stream Analytics job has a high late arrival tolerance.
B.The event hub is not partitioned correctly.
C.The event hub consumer group is misconfigured.
D.The Azure SQL Database target table lacks proper indexes.
AnswerD

Without suitable indexes, Azure SQL Database writes and lookups slow as the table grows, so Stream Analytics output batches queue and eventually exceed the query timeout. Adding indexes on the columns used by the sink's upsert or insert operations restores throughput and resolves the escalating latency.

Why this answer

The most likely cause is that the Azure SQL Database target table lacks proper indexes. Without indexes, each batch of output from Stream Analytics triggers full table scans for inserts or updates, causing cumulative latency. Over time, the backlog exceeds the job's timeout threshold (default 5 minutes for output), leading to failure.

Exam trap

The trap here is that candidates often attribute output latency to input-side issues like partitioning or consumer groups, but the symptom of increasing latency over time points to a downstream bottleneck, specifically missing indexes on the SQL target table.

How to eliminate wrong answers

Option A is wrong because high late arrival tolerance delays watermark advancement but does not cause progressive output latency or timeouts; it affects event ordering, not throughput. Option B is wrong because incorrect event hub partitioning affects input ingestion parallelism, not output latency to SQL Database; the job would show high input backlog, not output timeout. Option C is wrong because a misconfigured consumer group (e.g., multiple readers) causes checkpoint conflicts or duplicate reads, not a gradual increase in output latency; the job would fail with partition-related errors, not timeout.

318
MCQeasy

You need to store historical sales data for 10 years with infrequent queries. The storage cost must be minimized while retaining the ability to query using Azure Synapse serverless SQL pool. Which storage tier should you use?

A.Azure Storage Archive tier.
B.Azure Storage Premium tier.
C.Azure Storage Hot tier.
D.Azure Storage Cool tier.
AnswerD

The cool tier offers lower storage cost than hot while remaining fully queryable by Synapse serverless SQL pool, unlike archive which requires rehydration. This satisfies the minimise-cost constraint alongside infrequent query access over ten years.

Why this answer

The Cool tier is the correct choice because it provides low-cost storage for data that is infrequently accessed (e.g., historical sales data spanning 10 years) while still supporting immediate read access via Azure Synapse serverless SQL pool. Unlike the Archive tier, Cool tier data is online and can be queried without the need for time-consuming rehydration, making it suitable for infrequent but on-demand analytical queries.

Exam trap

The trap here is that candidates often confuse 'infrequent queries' with 'no queries' and incorrectly choose the Archive tier, forgetting that Azure Synapse serverless SQL pool cannot directly query archived data without a time-consuming rehydration process.

How to eliminate wrong answers

Option A is wrong because the Archive tier is designed for long-term backup and rarely accessed data, requiring a rehydration step (which can take up to 15 hours) before data can be queried by Azure Synapse serverless SQL pool, making it unsuitable for even infrequent queries. Option B is wrong because the Premium tier is optimized for low-latency, high-transaction workloads and is significantly more expensive, which contradicts the requirement to minimize storage cost. Option C is wrong because the Hot tier is intended for frequently accessed data and has higher storage costs than the Cool tier, so it does not meet the cost-minimization goal for infrequently queried historical data.

319
MCQmedium

You are designing a security strategy for Azure Synapse Analytics. The solution must prevent users from accessing sensitive columns in a dedicated SQL pool, such as Social Security numbers, unless they have explicit permission. Which feature should you use?

A.Column-level security.
B.Azure Purview data classification.
C.Dynamic data masking.
D.Row-level security (RLS).
AnswerA

Column-level security applies GRANT/DENY permissions on individual columns, so users lacking explicit permission on Social Security number columns receive no data from them. This directly satisfies the requirement to prevent access to sensitive columns in the dedicated SQL pool without blocking the rest of the table.

Why this answer

Column-level security (CLS) restricts access to specific columns by granting or denying SELECT permissions on individual columns. Option C (Dynamic data masking) obfuscates data at query time but does not prevent access, as users can still see the data if they bypass masking. Option B (Azure Purview) is a data governance service for cataloging and classifying data, not for access control.

Option D (Row-level security) filters rows based on user context, not columns.

320
MCQhard

Refer to the exhibit. You are reviewing the workload classifier configuration for an Azure Synapse Analytics dedicated SQL pool. You notice that the 'HeavyLoader' classifier has a queryExecutionTimeoutSeconds of 0. What is the implication of this setting?

A.Queries classified as 'HeavyLoader' will wait indefinitely for resources.
B.The configuration is invalid; queryExecutionTimeoutSeconds must be greater than 0.
C.Queries classified as 'HeavyLoader' will not have a timeout.
D.Queries classified as 'HeavyLoader' will timeout immediately.
AnswerC

A queryExecutionTimeoutSeconds value of zero disables the timeout entirely, so 'HeavyLoader' queries run until completion or manual cancellation. This satisfies the stem's scenario by confirming that the classifier imposes no execution time limit, unlike classifiers with a positive value that terminate queries after the specified seconds.

Why this answer

When queryExecutionTimeoutSeconds is set to 0, it means no timeout is enforced. Queries classified as 'HeavyLoader' can run indefinitely without being terminated by the timeout mechanism. Option A is incorrect because a value of 0 does not mean indefinite waiting for resources; it refers to the timeout duration.

Option B is incorrect; 0 is a valid configuration that disables the timeout. Option D is incorrect; a timeout of 0 does not cause immediate timeout but rather no timeout.

321
MCQmedium

A media company ingests high-definition video files into Azure Data Lake Storage Gen2. The files are uploaded once and then read by multiple analytics jobs for 48 hours, after which they are deleted. The company wants to optimize read performance and reduce latency for the analytics jobs. Which storage configuration should you recommend?

A.Store the files as page blobs in a premium page blob storage account.
B.Store the video files as append blobs in a general-purpose v2 storage account.
C.Store the files in a general-purpose v1 storage account with the Hot access tier.
D.Enable hierarchical namespace and store the files as block blobs in a premium block blob storage account.
AnswerD

A premium block blob storage account is designed for high transaction rates and low latency, making it ideal for analytics workloads that read data frequently. Enabling hierarchical namespace provides Data Lake Storage Gen2 capabilities, such as a directory structure that improves query performance. Storing files as block blobs is appropriate for large video files, and the premium tier ensures fast reads.

Why this answer

Premium block blob storage accounts provide low latency and high throughput, which are critical for analytics jobs reading large video files. Enabling hierarchical namespace (Data Lake Storage Gen2) adds a directory structure that improves query efficiency. Block blobs are the correct type for large files.

This combination optimizes read performance and reduces latency for the 48-hour analytics window.

Exam trap

The trap here is confusing premium page blob storage (for VM disks) with premium block blob storage (for high-performance analytics and media), leading to an incorrect storage account choice.

322
MCQhard

You are developing an Azure Data Factory pipeline that processes data from an on-premises SQL Server. The pipeline uses a self-hosted integration runtime. You need to ensure that the pipeline can handle schema changes in the source table without failing. What should you do?

A.Configure the Copy activity to use a stored procedure that dynamically generates the column list.
B.Use a Mapping Data Flow with 'Allow schema drift' enabled and a sink that supports schema evolution.
C.Enable the 'Allow schema drift' option in the Copy activity source settings.
D.Set the 'Auto create table' option in the sink dataset to handle new columns.
AnswerB

Mapping Data Flows support schema drift, allowing the flow to handle new or missing columns at runtime. When enabled, the data flow can process source data with varying schemas without failing. Combined with a sink like Delta Lake or a database that supports schema evolution, this provides a robust solution for schema changes.

Why this answer

Mapping Data Flows with 'Allow schema drift' enabled can dynamically handle schema changes by reading and writing columns that are not predefined. This prevents pipeline failures due to new or removed columns. When paired with a sink that supports schema evolution, such as Delta Lake, the data flow can automatically adapt to changing schemas, ensuring continuous data processing.

Exam trap

The trap here is confusing the schema drift capability of Mapping Data Flows with features of the Copy activity, which does not support automatic schema drift.

323
Multi-Selecthard

Which THREE considerations are important when designing a table distribution strategy for an Azure Synapse Analytics dedicated SQL pool? (Choose three.)

Select 3 answers
A.Align distribution keys on tables that are frequently joined together
B.Minimize data skew by choosing a distribution key with many unique values
C.Use round-robin distribution for large fact tables to distribute data evenly
D.Use replicated tables for large tables to avoid data movement
E.Consider the size of the table and the frequency of joins
AnswersA, B, E

Aligning distribution keys on tables that are frequently joined together ensures that the join columns are hash-distributed on the same key, enabling collocated joins. This avoids data movement across distributions during query execution, which significantly improves performance.

Why this answer

Option A is correct because co-locating the distribution key on tables that are frequently joined ensures matching rows land on the same distribution, letting joins execute locally and eliminating costly shuffle (data movement) operations. Option B is correct because a distribution key with many unique values spreads rows evenly across the 60 distributions, minimizing data skew that would otherwise create hot distributions and slow query performance. Option E is correct because table size and join frequency are the core drivers of the distribution decision: small tables may be replicated, while large frequently-joined tables should be hash-distributed on a shared key.

Option C is not correct because round-robin is generally recommended for staging or temporary tables, not large fact tables, which benefit from hash distribution on a join/filter column. Option D is not correct because replicated tables are intended for small dimension tables (roughly under 2 GB compressed); replicating large tables consumes excessive storage and rebuild time on every write.

Exam trap

The trap here is that candidates often confuse round-robin distribution as a good choice for large fact tables because it distributes data evenly, but they overlook the severe performance penalty from data movement during joins and aggregations.

324
Multi-Selectmedium

You are designing a batch processing solution in Azure Synapse Analytics using pipelines. The solution must load data from multiple sources (Azure Blob Storage, Azure SQL Database, and REST API) into a dedicated SQL pool. After loading, you need to run a stored procedure to aggregate the data. Which two activities should you include in the pipeline? (Choose two.)

Select 2 answers
A.Execute Pipeline activity
B.Copy activity
C.Azure Function activity
D.Stored procedure activity
E.Data Flow activity
AnswersB, D

The Copy activity moves data from each source (Blob Storage, Azure SQL Database, REST API) into the dedicated SQL pool, satisfying the multi-source ingestion requirement. A subsequent activity then invokes the stored procedure for aggregation.

Why this answer

The Copy activity (B) is correct because it is the native Azure Synapse Analytics/Data Factory pipeline activity designed to ingest data from disparate sources such as Azure Blob Storage, Azure SQL Database, and REST API connectors into a dedicated SQL pool sink, handling schema mapping and parallel loading. The Stored procedure activity (D) is correct because it invokes a stored procedure in the dedicated SQL pool after the load completes, which is exactly what is needed to run the aggregation logic on the loaded data. The Execute Pipeline activity (A) only calls another pipeline and does not itself move or transform data, so it does not satisfy the load or aggregation requirement.

The Azure Function activity (C) runs custom code in an Azure Function, which is unnecessary here since built-in Copy and Stored procedure activities cover the scenario. The Data Flow activity (E) performs code-free transformations in a Spark-based execution engine, but the requirement is to load data and then aggregate via a stored procedure, not to transform data in a mapping data flow.

325
MCQeasy

A data engineer needs to store log data from multiple applications in Azure. The data is append-only, heavily compressed, and queried infrequently. Cost minimization is critical. Which storage solution is best?

A.Azure Table Storage
B.Azure Cosmos DB with analytical store
C.Azure Blob Storage with cool or archive access tier
D.Azure Data Lake Storage Gen2 with hot tier
AnswerC

Cool and Archive tiers suit append-only, infrequently queried log data because they trade higher access latency and per-operation costs for substantially lower storage pricing. Archive offers the cheapest per-GB rate, directly satisfying the cost-minimisation constraint while retaining compressed blobs.

Why this answer

Azure Blob Storage with cool or archive access tier is the best choice because the data is append-only, heavily compressed, and infrequently queried, making cost minimization the top priority. The cool tier offers low storage costs with higher access charges, while the archive tier provides the lowest storage cost for data that is rarely accessed and can tolerate hours of retrieval latency. This aligns perfectly with the append-only, infrequently queried nature of the log data.

Exam trap

The trap here is that candidates often confuse Azure Blob Storage's access tiers with Data Lake Storage Gen2's tiers, assuming the hot tier is always the default for log data, but the question's emphasis on 'cost minimization' and 'infrequently queried' explicitly points to cool or archive tiers, not the hot tier.

How to eliminate wrong answers

Option A is wrong because Azure Table Storage is a NoSQL key-value store designed for structured, semi-structured data with frequent point queries, not for large, append-only, compressed log blobs; it lacks the cost-optimized access tiers needed for infrequent access. Option B is wrong because Azure Cosmos DB with analytical store is a globally distributed, multi-model database optimized for low-latency transactional and analytical workloads, which is over-engineered and costly for append-only, infrequently queried log data; its analytical store is designed for near-real-time analytics, not cold storage. Option D is wrong because Azure Data Lake Storage Gen2 with hot tier is optimized for high-frequency access and big data analytics, with higher storage costs than cool or archive tiers, making it unsuitable for cost minimization when data is infrequently queried.

326
MCQhard

You are a data engineer for a retail company. The company uses Azure Data Lake Storage Gen2 to store raw transaction data partitioned by date. Each day, a folder is created with the format 'YYYY/MM/DD' containing thousands of small JSON files (each ~10 KB). An Azure Databricks job runs daily to read the previous day's folder, transform the data, and write to a Delta table for reporting. Over time, the job's execution time has increased from 15 minutes to over 2 hours. The job uses a cluster with 4 nodes (each 16 GB memory). Monitoring shows that the job spends most of its time in the 'listing files' stage. Which optimization should you implement to reduce the job duration?

A.Increase the number of nodes in the cluster to 16.
B.Change the output format from JSON to Delta and enable Delta caching.
C.Pre-process the raw data to coalesce small JSON files into larger parquet files (e.g., 256 MB each).
D.Use Azure Data Factory instead of Databricks to copy the raw data.
AnswerC

Thousands of tiny JSON files force the listing stage to enumerate enormous numbers of objects, dominating runtime. Compacting them into fewer ~256 MB parquet files slashes listing overhead and improves scan throughput, directly addressing the bottleneck while retaining the date partitioning.

Why this answer

The job spends most of its time in the 'listing files' stage because reading thousands of small JSON files (each ~10 KB) from Azure Data Lake Storage Gen2 incurs high metadata operation overhead. Coalescing these small files into larger Parquet files (e.g., 256 MB each) reduces the number of files that Spark must list and process, dramatically cutting down the listing stage time and improving overall throughput.

Exam trap

The trap here is that candidates often assume scaling the cluster (Option A) will solve any performance issue, but they fail to recognize that metadata operations like file listing are not parallelized across nodes and are limited by the storage account's API limits, not compute resources.

How to eliminate wrong answers

Option A is wrong because increasing the number of nodes to 16 does not address the root cause of high metadata overhead from listing thousands of small files; it would only add more parallelism to a bottleneck that is I/O and metadata-bound, not CPU-bound. Option B is wrong because changing the output format to Delta and enabling Delta caching optimizes the write/read side of the Delta table, but the bottleneck is in the input stage (listing and reading raw JSON files), not in the output stage. Option D is wrong because using Azure Data Factory to copy the raw data does not solve the file listing problem; it would still need to list the same small files and would not transform the data, and it introduces an unnecessary extra service without addressing the core issue of small file overhead.

327
MCQeasy

You are designing a data storage solution for a retail company. The data includes transactional data that requires low-latency queries (under 10 milliseconds) and large historical data for analytics. The solution must minimize storage costs. Which approach should you recommend?

A.Use Azure Data Lake Storage Gen2 for both transactional and historical data
B.Use Azure Cache for Redis for transactional data and Azure SQL Database for historical data
C.Use Azure Cosmos DB for transactional data and Azure Blob Storage for historical data
D.Use Azure SQL Database with Hyperscale tier for both transactional and historical data
AnswerC

Azure Cosmos DB delivers single-digit-millisecond reads for the transactional workload, satisfying the sub-10 ms latency constraint, while Azure Blob Storage's low-cost tiers hold the large historical dataset cheaply. Splitting hot and cold data this way minimises overall storage spend without compromising query performance.

Why this answer

Azure Cosmos DB provides single-digit millisecond latency for transactional workloads, meeting the under-10ms requirement, while Azure Blob Storage offers low-cost storage for large historical data. This combination minimizes storage costs by using the most cost-effective service for each workload type.

Exam trap

The trap here is that candidates may assume a single service like Azure SQL Database or Data Lake Storage can handle both transactional and analytical workloads efficiently, overlooking the cost and performance trade-offs that make a hybrid approach optimal.

How to eliminate wrong answers

Option A is wrong because Azure Data Lake Storage Gen2 is optimized for big data analytics, not low-latency transactional queries, and cannot guarantee under 10ms response times. Option B is wrong because Azure Cache for Redis is an in-memory cache, not a durable transactional store, and Azure SQL Database for historical data incurs higher storage costs compared to Blob Storage. Option D is wrong because Azure SQL Database Hyperscale, while scalable, is more expensive for large historical data storage and does not minimize costs as effectively as Blob Storage.

328
MCQeasy

You are a data engineer for a retail company that stores sales data in an Azure Synapse Analytics dedicated SQL pool. You need to optimize query performance for a large fact table that is frequently joined with a much smaller dimension table. The queries often filter on a date column and aggregate sales amounts. Which technique should you implement to improve query performance?

A.Create a heap on the fact table and a hash-distributed dimension table on the join key.
B.Partition the fact table by date and use a hash distribution on the dimension table's primary key.
C.Create a clustered columnstore index on the fact table and a replicated distribution for the dimension table.
D.Create a clustered index on the date column of the fact table and a round-robin distribution for the dimension table.
AnswerC

A clustered columnstore index is ideal for large fact tables because it provides high compression and fast column-based aggregations. Using a replicated distribution for the smaller dimension table ensures that joins are performed locally on each compute node, eliminating data movement. This combination minimizes I/O and shuffle operations, significantly improving query performance for the described workload.

Why this answer

A clustered columnstore index on the fact table provides high compression and fast aggregation, while a replicated distribution for the smaller dimension table eliminates data movement during joins. Together, these optimizations reduce I/O and network overhead, delivering significant performance gains for queries that filter on date and aggregate sales amounts. This is a best practice for star schema workloads in dedicated SQL pools.

Exam trap

The trap here is assuming that any index or distribution will suffice, but using a row-based index or a hash distribution on the wrong key can introduce data movement and slow down aggregations.

329
Multi-Selecteasy

Which TWO of the following Azure services can be used to orchestrate data pipelines that include data transformation?

Select 2 answers
A.Azure Synapse Pipelines
B.Azure Data Factory
C.Azure Logic Apps
D.Azure Databricks
E.Azure Functions
AnswersA, B

Synapse Pipelines provides orchestration with built-in data transformation activities, including Mapping Data Flows and notebook execution, within the Synapse workspace. It schedules and coordinates pipeline activities, satisfying the requirement to orchestrate pipelines that include transformation.

Why this answer

Azure Synapse Pipelines (A) is correct because it is the built-in pipeline orchestration engine in Azure Synapse Analytics, providing the same Data Factory-style activities (Copy, Data Flow, Stored Procedure, Notebook) that let you schedule and orchestrate data movement with transformation steps such as Mapping Data Flows. Azure Data Factory (B) is correct because it is Azure's dedicated cloud ETL/ELT orchestration service, where pipelines chain activities like Copy, Mapping Data Flow, Databricks notebook, and stored procedure activities to move and transform data. Azure Logic Apps (C) is a workflow/automation service for app and system integration, not a data pipeline orchestrator with transformation activities.

Azure Databricks (D) is an Apache Spark analytics/compute platform that performs transformations but is typically invoked as an activity within a pipeline rather than being the orchestrator itself. Azure Functions (E) is a serverless compute service for running event-driven code, not a data pipeline orchestration service.

Exam trap

The trap here is that candidates often confuse compute services (like Databricks or Functions) with orchestration services, mistakenly thinking they can replace Azure Data Factory or Synapse Pipelines for end-to-end pipeline management, when in fact they are typically used as activities within an orchestrated pipeline.

330
Matchingmedium

Match each Azure data integration tool to its typical use case.

Drag a concept onto its matching description — or click a concept then click the description.

Concepts
Matches

Query external data in Azure Storage using T-SQL

High-throughput data ingestion into Synapse SQL

Orchestrate data movement and transformation

Complex data engineering with notebooks

Why these pairings

In this matching exercise, the correct pairs are: Azure Data Factory for orchestration, Azure Synapse Analytics for data warehousing, Azure Databricks for data engineering/ML, and Azure Stream Analytics for real-time streaming. Common confusions involve swapping orchestration and streaming roles.

331
MCQeasy

You need to ensure that data stored in Azure Data Lake Storage Gen2 is encrypted at rest using customer-managed keys. Which Azure service should you use to manage the keys?

A.Azure Key Vault
B.Microsoft Purview
C.Azure Confidential Computing
D.Microsoft Entra ID
AnswerA

Azure Key Vault stores and controls the customer-managed keys used by Data Lake Storage Gen2 server-side encryption. It provides the key management plane the scenario requires, letting you supply and rotate your own keys rather than relying on Microsoft-managed keys.

Why this answer

Azure Key Vault is the service used to store and manage customer-managed keys (CMK) for Azure Storage encryption at rest. You create a key in Key Vault (or Managed HSM) and configure the storage account to use that key via the encryption settings, enabling CMK.

Exam trap

DP-203 often tests the distinction between key management (Key Vault) and governance (Purview); candidates who pick Purview confuse data cataloging with encryption key storage.

How to eliminate wrong answers

Option B is wrong because Microsoft Purview is a data governance and compliance service, not a key management store. Option C is wrong because Azure Confidential Computing protects data in use (enclaves), not keys at rest. Option D is wrong because Microsoft Entra ID is the identity provider; it does not store encryption keys.

332
MCQmedium

Your organization has an Azure Synapse Analytics dedicated SQL pool that stores sensitive customer data. You need to ensure that only authorized users can access the data, and auditing must be enabled to track all access attempts. What should you do first?

A.Implement column-level security to restrict sensitive columns.
B.Enable auditing on the SQL pool and configure a storage account for audit logs.
C.Configure Microsoft Entra ID authentication and use RBAC to grant only necessary permissions.
D.Apply dynamic data masking to the sensitive columns.
AnswerC

Microsoft Entra ID authentication with RBAC establishes identity-based access control before any data-level permissions are granted, ensuring only authorised users reach the dedicated SQL pool. This is the prerequisite step, since auditing and finer controls depend on that authentication foundation being configured first.

Why this answer

Before implementing column-level security, dynamic data masking, or auditing, you must first establish who the authorized users are by configuring Microsoft Entra ID authentication and applying RBAC to grant only the necessary permissions. This foundational identity and access control step ensures that subsequent security features (masking, column-level security, auditing) operate against a properly authenticated and authorized user base.

Exam trap

DP-203 often tests the ordering of security controls, catching candidates who jump to masking or auditing before establishing authentication and RBAC as the foundational layer.

How to eliminate wrong answers

Option A is wrong because column-level security restricts access to specific columns, but it presupposes that authentication and role assignments are already in place; applying it first without RBAC would be ineffective. Option B is wrong because enabling auditing is important but is a monitoring control, not the first step—auditing without proper authentication just logs unauthorized access rather than preventing it. Option D is wrong because dynamic data masking obscures data in query results but does not restrict who can access the data; it is a complementary control, not the foundational one.

333
MCQeasy

You are monitoring Azure Stream Analytics job performance. The job is falling behind in processing real-time data. You notice that the SU (Streaming Unit) utilization is consistently at 90% or higher. What is the most appropriate action to improve throughput?

A.Change the output to use a partition scheme
B.Reduce the window duration in the query
C.Increase the number of Streaming Units (SUs)
D.Decrease the event ordering tolerance
AnswerC

Sustained SU utilisation at or above 90% means the job is compute-bound, so adding Streaming Units partitions the query across more nodes and raises throughput. Other remedies, such as rewriting the query or increasing partition count, do not relieve the saturated compute capacity.

Why this answer

Streaming Unit (SU) utilization consistently at 90% or higher indicates the job is resource-constrained. Increasing the number of SUs allocates more compute resources, which can improve throughput and reduce backlog. This is the most direct and appropriate action to scale the job.

Exam trap

DP-203 often tests the misconception that optimizing query logic or output partitioning can solve performance issues when the root cause is insufficient compute resources, leading candidates to choose options other than scaling SUs.

How to eliminate wrong answers

Option A is wrong because changing the output to use a partition scheme can improve write performance but does not address the compute bottleneck indicated by high SU utilization. Option B is wrong because reducing the window duration may increase the frequency of output and potentially increase load, not improve throughput. Option D is wrong because decreasing event ordering tolerance can reduce latency but does not increase processing capacity.

334
MCQeasy

You need to monitor the performance of Azure Synapse Analytics dedicated SQL pool queries. Which Azure service should you use to identify long-running queries and resource bottlenecks?

A.Microsoft Purview Data Map.
B.Azure Synapse Studio monitoring hub and dynamic management views (DMVs).
C.Azure Log Analytics queries.
D.Azure Monitor Workbooks.
AnswerB

The Synapse Studio monitoring hub surfaces query history and resource usage, while DMVs such as sys.dm_pdw_exec_requests expose long-running statements and bottleneck waits. Together they provide the dedicated SQL pool telemetry needed to pinpoint performance issues.

Why this answer

Azure Synapse Studio monitoring hub provides a centralized view of query performance, including long-running queries and resource utilization. Dynamic management views (DMVs) offer detailed, real-time insights into query execution and resource bottlenecks. Together, they are the primary tools for monitoring dedicated SQL pool performance.

Exam trap

DP-203 often tests the confusion between monitoring tools, leading candidates to choose Azure Monitor or Log Analytics when the question specifically asks for query-level performance monitoring in Synapse.

How to eliminate wrong answers

Option A is wrong because Microsoft Purview Data Map is for data governance and cataloging, not performance monitoring. Option C is wrong because Azure Log Analytics queries can analyze logs but are not specifically designed for real-time query performance monitoring in Synapse. Option D is wrong because Azure Monitor Workbooks can create custom dashboards but lack the deep, query-level diagnostics provided by Synapse Studio and DMVs.

335
MCQeasy

You need to store semi-structured JSON data from a web application that requires low-latency reads and writes at a global scale. The data must be indexed automatically and support SQL-like queries. Which Azure data store should you use?

A.Azure SQL Database
B.Azure Blob Storage
C.Azure Cosmos DB (NoSQL API)
D.Azure Table Storage
AnswerC

Azure Cosmos DB (NoSQL API) natively stores semi-structured JSON documents, automatically indexes every property without schema definitions, and offers single-digit-millisecond latency with global multi-region distribution. Its SQL-like query syntax over the NoSQL API satisfies the stem's requirements for automatic indexing, low-latency reads and writes at global scale, and SQL-like querying.

Why this answer

Azure Cosmos DB with the NoSQL API is the correct choice because it natively stores semi-structured JSON documents, provides automatic indexing of all properties, supports SQL-like queries via its query engine, and offers low-latency reads and writes at global scale through multi-region replication and configurable consistency levels. This combination directly matches the requirements for a globally distributed web application needing fast, queryable JSON storage.

Exam trap

The trap here is that candidates often confuse Azure Table Storage's key-value capabilities with Cosmos DB's document model, mistakenly thinking Table Storage supports SQL-like queries and automatic indexing, when in fact it only supports OData queries and requires explicit partition and row keys for efficient access.

How to eliminate wrong answers

Option A is wrong because Azure SQL Database is a relational database that requires a fixed schema and is not optimized for semi-structured JSON data without manual schema management or JSON functions, nor does it provide automatic indexing of all JSON properties. Option B is wrong because Azure Blob Storage is an object store for unstructured data that does not support SQL-like queries or automatic indexing; it requires a separate compute layer (e.g., Azure Data Lake Analytics) for querying. Option D is wrong because Azure Table Storage is a NoSQL key-value store that does not support SQL-like queries, automatic indexing of all fields, or native JSON document storage; it uses OData queries and a flat schema.

336
MCQeasy

Refer to the exhibit. An Azure Policy is defined to enforce network security on storage accounts. What does this policy do?

A.Denies storage accounts that do not have any IP rules defined
B.Denies storage accounts that have firewall rules configured
C.Denies storage accounts that have public network access disabled
D.Denies storage accounts that allow public network access from all networks
AnswerD

The policy's `Deny` effect blocks creation or update of storage accounts whose network ACL default action permits access from all networks, satisfying the stem's network-security enforcement constraint. It evaluates the `networkAcls.defaultAction` property, rejecting any resource where that value equals `Allow` rather than `Deny`.

Why this answer

The Azure Policy in the exhibit uses the 'Deny' effect with a condition that checks if the 'networkAcls.defaultAction' property is set to 'Allow'. When 'defaultAction' is 'Allow', the storage account permits traffic from all networks, including the internet. The policy denies such configurations to enforce network security by requiring that public network access be restricted.

Exam trap

The trap here is that candidates confuse the 'defaultAction' property with the presence of IP rules or firewall settings, leading them to think the policy denies accounts with any firewall rules rather than those that allow all networks.

How to eliminate wrong answers

Option A is wrong because the policy does not evaluate the presence or absence of IP rules; it only checks the 'defaultAction' property. Option B is wrong because the policy denies accounts that allow all networks, not those with firewall rules configured; firewall rules are a separate mechanism. Option C is wrong because the policy denies accounts where public network access is enabled (defaultAction = 'Allow'), not disabled; disabling public access would set defaultAction to 'Deny', which the policy does not target.

337
MCQeasy

You are designing data security for Azure Data Lake Storage Gen2. The requirement is to prevent data from being accessed by anyone outside the corporate network. Which feature should you enable?

A.Use Azure Private Endpoint or service endpoint with a VNet.
B.Assign RBAC roles to deny access to all except corporate users.
C.Configure IP firewall rules to allow only corporate IP ranges.
D.Enable encryption at rest using customer-managed keys.
AnswerA

A private endpoint assigns a private IP from your VNet to the storage account, so traffic never traverses the public internet and access is restricted to the corporate network. Service endpoints similarly limit access to specified subnets, satisfying the requirement to block external access.

Why this answer

Azure Private Endpoint or service endpoint with a VNet ensures that all traffic to the storage account stays within the corporate network and never traverses the public internet. Private Endpoint assigns a private IP from the VNet to the storage account, effectively isolating it from public access. This meets the requirement to prevent access from outside the corporate network by enforcing network-level isolation.

Exam trap

The trap here is that candidates often confuse network-level security (Private Endpoint) with access control (RBAC) or data protection (encryption), thinking that denying RBAC roles or enabling encryption alone can prevent external access, when only network isolation truly blocks traffic from outside the corporate network.

How to eliminate wrong answers

Option B is wrong because RBAC roles control authorization (who can access data) but do not enforce network boundaries; a user with the correct role could still access data from outside the corporate network. Option C is wrong because IP firewall rules can be bypassed if an attacker spoofs an allowed IP address or if the corporate network uses dynamic public IPs, and they do not provide the same level of isolation as Private Endpoint. Option D is wrong because encryption at rest protects data at the storage layer but does not control network access; data could still be accessed from outside the corporate network if other security measures are not in place.

338
MCQmedium

You are developing an Azure Databricks notebook that processes streaming data from Azure Event Hubs. The notebook must write the processed data to a Delta table. You need to ensure that the stream can handle late data and update previously written records. Which Delta Lake feature should you use?

A.Use the append mode to write new records to the Delta table.
B.Use the ignore mode to skip writing if the table already exists.
C.Use the overwrite mode to replace the entire Delta table with the new batch.
D.Use the MERGE INTO statement to upsert records into the Delta table.
AnswerD

The MERGE INTO statement allows you to perform upserts (inserts, updates, and deletes) on a Delta table based on a matching condition. In streaming scenarios, you can use foreachBatch to apply MERGE INTO, enabling updates to existing records when late data arrives. This supports the requirement to update previously written records and handle late data effectively.

Why this answer

To handle late data and update existing records in a Delta table from a stream, you should use MERGE INTO within foreachBatch. This allows upserts based on a unique key, ensuring that late-arriving events update the correct records. Append, overwrite, and ignore modes do not provide the required update capability.

Exam trap

The trap here is assuming that append mode is sufficient for streaming writes, without considering the need to update existing records for late data.

339
MCQhard

A company uses Azure Synapse Analytics dedicated SQL pool for data warehousing. They notice that queries against a large fact table are slow. The table is hash-distributed on ProductID, but many queries filter on OrderDate. What should the data engineer do to improve query performance?

A.Change the distribution to round-robin
B.Replicate the table to all distributions
C.Create a columnstore index on OrderDate
D.Change the distribution to hash on OrderDate
AnswerD

Aligns distribution with filter column, minimizing data movement.

Why this answer

Changing the distribution key to OrderDate aligns the physical data layout with the most common query filter predicate. In a dedicated SQL pool, hash distribution distributes rows across distributions based on the hash of the distribution column. When queries filter on OrderDate, a hash on OrderDate enables partition elimination and distribution-level pruning, reducing data movement and improving scan performance.

Exam trap

The trap here is that candidates often confuse indexing (columnstore) with distribution strategy, assuming a non-clustered index on the filter column is sufficient, when in fact the distribution key must match the most frequent filter predicate to avoid full distribution scans.

How to eliminate wrong answers

Option A is wrong because round-robin distribution distributes rows evenly without any logical grouping, which forces full table scans and data shuffling for all queries, making performance worse for filtered queries. Option B is wrong because replicating a large fact table to all distributions would consume excessive storage and cause significant overhead during data loading, and is typically reserved for small dimension tables. Option C is wrong because a columnstore index on OrderDate improves compression and scan efficiency but does not address the distribution mismatch; queries would still need to scan all distributions, missing the benefit of distribution elimination.

340
MCQhard

You are designing a batch processing solution using Azure Databricks. The data source is a large Parquet dataset stored in Azure Data Lake Storage Gen2 (ADLS Gen2). The processing requires joining two datasets: one with 10 billion rows and another with 1 million rows. The cluster uses Photon runtime. Which optimization should you apply to minimize shuffle?

A.Broadcast the smaller table (1 million rows) to all worker nodes.
B.Increase the cluster size to reduce shuffle overhead.
C.Create bucketed tables on the join key for both datasets.
D.Use Delta Lake and optimize file layout with OPTIMIZE command.
AnswerA

Broadcasting the smaller table avoids shuffling the large table, significantly reducing data movement.

Why this answer

Broadcasting the smaller table (1 million rows) to all worker nodes is the correct optimization because it eliminates the need for a full shuffle during the join. With Photon runtime, broadcast joins are highly efficient as they replicate the small table to each executor, allowing map-side joins that avoid costly data movement across the network. Given the 10:1 row ratio, the 1-million-row table is well within the default broadcast threshold (10 MB compressed, configurable via spark.sql.autoBroadcastJoinThreshold), making this the most effective shuffle-minimization technique.

Exam trap

The trap here is that candidates often assume increasing cluster size (Option B) is a universal performance fix, but the DP-203 exam specifically tests the understanding that shuffle reduction techniques like broadcast joins are more impactful than simply adding more nodes, especially when one dataset is small enough to fit in executor memory.

How to eliminate wrong answers

Option B is wrong because increasing cluster size does not reduce shuffle overhead; it only adds more parallelism, which can actually increase shuffle traffic and does not address the fundamental need to avoid shuffling large datasets. Option C is wrong because creating bucketed tables on the join key requires both datasets to be bucketed with the same number of buckets and a compatible bucketing scheme; while this can reduce shuffle, it involves significant upfront data reorganization and is not as immediate or lightweight as broadcasting the small table. Option D is wrong because using Delta Lake and the OPTIMIZE command improves file layout and read performance (e.g., bin-packing small files) but does not directly reduce shuffle during a join operation; shuffle reduction requires join-specific optimizations like broadcast or bucketing.

341
MCQmedium

You have an Azure Databricks workspace that uses a managed resource group. The security team requires that all cluster nodes use no public IP addresses and that all outbound traffic goes through a firewall. What should you configure?

A.Configure service endpoints for Azure Storage and Azure Data Lake Storage.
B.Deploy the workspace in a VNet with forced tunneling enabled and a firewall.
C.Apply network security groups (NSGs) to the subnet that restrict outbound traffic.
D.Enable Azure Private Link for the Databricks workspace.
AnswerB

Deploying into a customer-managed VNet with forced tunnelling routes all cluster node egress through your firewall appliance, satisfying the outbound inspection requirement. Secure cluster connectivity (no public IP) is enabled alongside, so nodes hold no public addresses. This meets both constraints the security team specified.

Why this answer

To ensure no public IPs on cluster nodes and all outbound traffic routed through a firewall, you must deploy the Azure Databricks workspace into your own VNet (VNet injection) with forced tunneling enabled, and route egress through a firewall such as Azure Firewall or a user-defined route to an NVA. VNet injection gives you control over the subnets, NSGs, and routing, and forced tunneling redirects all outbound traffic to your inspection appliance. This is the documented architecture for secure, no-public-IP Databricks deployments.

Exam trap

DP-203 often tests the difference between Private Link (private access to the workspace) and VNet injection with forced tunneling (control over cluster egress), so candidates who pick Private Link miss the 'no public IP on nodes' and 'all outbound through firewall' requirements.

How to eliminate wrong answers

Option A is wrong because service endpoints only secure traffic to specific Azure services (Storage, ADLS) over the Azure backbone; they do not remove public IPs from cluster nodes or force all egress through a firewall. Option C is wrong because NSGs filter traffic but do not provide a firewall for inspection, and NSGs alone do not eliminate public IPs on cluster nodes. Option D is wrong because Azure Private Link for Databricks provides private connectivity to the workspace control plane and web UI, but it does not by itself remove public IPs from cluster nodes or force all outbound traffic through a firewall.

342
Multi-Selecthard

You are optimizing an Azure Synapse Analytics dedicated SQL pool. You need to reduce query execution time for large fact tables that are frequently joined with dimension tables. Which two actions should you perform? (Choose two.)

Select 2 answers
A.Enable result set caching on the dedicated SQL pool.
B.Use round-robin distribution for the fact tables.
C.Create a clustered columnstore index on the fact tables.
D.Create a clustered index on the fact tables.
E.Distribute the fact tables using hash distribution on the join key.
AnswersC, E

Clustered columnstore indexes are the default and most efficient storage format for large fact tables in a dedicated SQL pool. They provide high compression and improved query performance for analytical workloads by enabling batch mode processing and segment elimination. Creating or ensuring a clustered columnstore index on fact tables is a best practice to reduce query execution time, especially for large tables involved in joins and aggregations.

Why this answer

To reduce query execution time for large fact tables frequently joined with dimension tables in a dedicated SQL pool, you should ensure a clustered columnstore index is used and hash distribute the fact tables on the join key. Clustered columnstore indexes optimize analytical queries through compression and batch processing, while hash distribution on the join key minimizes data movement during joins. The other options either use less efficient indexing, distribution methods that cause shuffling, or caching that does not address join performance.

Exam trap

The trap here is assuming that any index or distribution method will improve performance, when in fact rowstore indexes and round-robin distribution can degrade performance for large analytical joins.

343
MCQmedium

You are building an Azure Stream Analytics job that reads JSON events from an Azure Event Hub. Each event contains a nested array property named 'readings' with multiple sensor values. You need to output one row per sensor reading to an Azure Synapse Analytics dedicated SQL pool. The query must flatten the array. Which query syntax should you use?

A.SELECT deviceId, readings.value FROM input UNNEST(input.readings) AS readings
B.SELECT deviceId, reading FROM input CROSS APPLY GetArrayElements(input.readings) AS reading
C.SELECT deviceId, EXPLODE(input.readings) AS value FROM input
D.SELECT deviceId, reading.value FROM input CROSS APPLY GetArrayElements(input.readings) AS reading
AnswerD

This is correct because Azure Stream Analytics supports GetArrayElements as a streaming function that returns a table of array elements, and CROSS APPLY is the documented way to flatten a nested array into multiple rows. The alias reading exposes the element via reading.value, producing one output row per sensor reading, which matches the required one-row-per-reading output to the dedicated SQL pool.

Why this answer

Azure Stream Analytics flattens nested arrays using the built-in GetArrayElements function combined with CROSS APPLY. GetArrayElements returns a table with a 'value' column for each element, and CROSS APPLY expands those elements into separate rows. Referencing reading.value projects the scalar sensor value, producing one output row per reading as required.

Exam trap

The trap here is assuming that ANSI SQL set-returning functions such as UNNEST or Spark-style EXPLODE work in Azure Stream Analytics, when only GetArrayElements with CROSS APPLY is supported.

344
Multi-Selecteasy

Which TWO are benefits of using Azure Databricks Auto Loader for incremental data ingestion?

Select 2 answers
A.It can process new files as they arrive in cloud storage.
B.It can handle large volumes of data without manual checkpointing.
C.It automatically evolves the schema without any configuration.
D.It provides sub-second latency for real-time streaming.
E.It provides built-in deduplication of records.
AnswersA, B

Auto Loader uses cloud-native file notification or directory listing to detect new files as they land in storage, satisfying the incremental ingestion requirement. This streaming mechanism avoids reprocessing existing data, so arriving files are picked up automatically without manual intervention.

Why this answer

Option A is correct because Auto Loader is designed to incrementally and efficiently detect and process new files as they land in cloud storage (e.g., Azure Data Lake Storage or Blob Storage) using file notification or directory listing modes, making it ideal for streaming ingestion of arriving data. Option B is correct because Auto Loader manages the ingestion state, including checkpoints and the schema/state tracking, so it can scale to large volumes of files without requiring manual checkpoint management by the user. Option C is not correct because while Auto Loader supports schema inference and schema evolution, evolution typically requires enabling and configuring options such as cloudFiles.schemaEvolutionMode and related settings, so it is not automatic without any configuration.

Option D is not correct because Auto Loader is a file-based incremental ingestion mechanism and does not guarantee sub-second latency real-time streaming. Option E is not correct because Auto Loader does not provide built-in record-level deduplication; deduplication must be implemented separately, for example with dropDuplicates or Delta Lake MERGE logic.

Exam trap

The trap here is that candidates often confuse Auto Loader's schema inference (which is automatic on first read) with automatic schema evolution (which requires explicit configuration), and they also mistakenly assume file-based ingestion can achieve sub-second latency or provide built-in deduplication, which are not features of this service.

345
Multi-Selecteasy

Which TWO Azure services can be used to perform data transformation in a data pipeline? (Select two.)

Select 2 answers
A.Azure Data Factory
B.Azure Monitor
C.Azure Storage
D.Azure Event Hubs
E.Azure Databricks
AnswersA, E

Data Factory offers mapping data flows and compute activities for transformation.

Why this answer

Azure Data Factory is a cloud-based ETL service that provides a code-free visual interface for orchestrating data movement and transformation at scale. It supports data flows, which allow you to perform transformations like aggregations, joins, and filtering without writing code, making it a correct choice for data transformation in a pipeline.

Exam trap

The trap here is that candidates often confuse data ingestion services (like Event Hubs) or storage services (like Azure Storage) with transformation services, forgetting that transformation requires compute engines like Data Factory or Databricks.

346
Multi-Selecthard

Which THREE components are required to implement a real-time data processing solution using Azure Stream Analytics?

Select 3 answers
A.Power BI as the output sink
B.Azure Data Factory pipeline for orchestration
C.An input source such as Azure Event Hubs or IoT Hub
D.An output sink such as Azure Synapse Analytics or Blob Storage
E.A Stream Analytics job with a defined query
AnswersC, D, E

Streaming input is required for real-time processing.

Why this answer

Azure Stream Analytics requires a streaming input source to ingest real-time data. Azure Event Hubs and IoT Hub are the primary services that provide high-throughput, low-latency event ingestion, which Stream Analytics can consume via its built-in connector. Without a streaming input, the job cannot process real-time data.

Exam trap

The trap here is that candidates often assume Power BI is a required output for real-time dashboards, but Stream Analytics can function without any visualization sink, and the exam focuses on the minimal required components: input, job with query, and output sink.

347
Multi-Selectmedium

Which of the following are valid methods to secure data at rest in Azure Data Lake Storage Gen2? (Choose two.)

Select 2 answers
A.Azure Storage Service Encryption (SSE) with Microsoft-managed keys
B.Azure Active Directory (Azure AD) authentication for storage accounts
C.Customer-managed keys stored in Azure Key Vault
D.Configure firewall rules to restrict IP access
AnswersA, C

Why this answer

Azure Storage Service Encryption (SSE) with Microsoft-managed keys encrypts data at rest automatically for Azure Data Lake Storage Gen2 using 256-bit AES encryption. This is enabled by default for all storage accounts, ensuring data written to disk is encrypted before being persisted, with no additional configuration required.

Exam trap

The trap here is confusing network security controls (like firewalls or Azure AD authentication) with data-at-rest encryption methods, leading candidates to select options that protect access rather than the stored data itself.

Why the other options are wrong

B

Azure AD authentication controls access, not encryption at rest.

D

Firewall rules control network access, not encryption at rest.

348
MCQhard

You have an Azure Data Lake Storage Gen2 account that contains a container named raw. The container has a folder hierarchy with millions of small files. You need to optimize read performance for an Azure Databricks job that reads these files. You also need to minimize storage costs. What should you do?

A.Move the files to a premium storage tier to reduce latency.
B.Compact the small files into larger files using a tool like Azure Data Factory or Databricks, and store them in a partitioned folder structure.
C.Increase the number of partitions in the Databricks cluster to parallelize reads across more nodes.
D.Enable hierarchical namespace and use Azure Blob Storage APIs to read the files.
AnswerB

Compacting many small files into fewer large files reduces the overhead of opening and reading each file, significantly improving read performance. Partitioning the data by a common filter column further reduces the amount of data scanned. This approach also lowers storage costs by reducing metadata overhead and improving compression efficiency, addressing both performance and cost goals.

Why this answer

The presence of millions of small files creates significant overhead in listing, opening, and reading each file, which degrades performance and increases costs. Compacting these files into larger, partitioned files reduces the number of files and the amount of data scanned, improving read performance and lowering storage costs. The other options either do not address the root cause or increase costs.

Exam trap

The trap here is focusing on cluster scaling or storage tier when the real issue is the small file problem.

349
MCQmedium

You are designing a data processing solution for an e-commerce company. The company receives millions of clickstream events per hour from their website and needs to aggregate the data by product category and windowed time intervals for real-time dashboards. You need to minimize latency and cost. Which service should you use?

A.Azure Databricks Structured Streaming
B.Azure Data Factory
C.Azure Stream Analytics
D.Azure Synapse Pipelines
AnswerC

Stream Analytics performs windowed, stateful aggregation over streaming input with built-in tumbling, hopping and sliding windows, aggregating clickstream events by product category in near real time. Its consumption-based pricing keeps cost low for continuous high-volume dashboards.

Why this answer

(Azure Stream Analytics) is the best choice because it is purpose-built for real-time stream processing, supports windowed aggregations, and integrates with Power BI for dashboards. Option A (Azure Databricks Structured Streaming) can handle streaming but is more complex and typically more expensive for simple aggregations. Option B (Azure Data Factory) is for batch data movement, not real-time.

Option D (Azure Synapse Pipelines) is for orchestrating data movement, not real-time processing.

350
MCQhard

You have an Azure Data Factory pipeline that copies data from an on-premises SQL Server to Azure Blob Storage. The pipeline uses a self-hosted integration runtime. You notice that the copy activity fails intermittently with the error: 'Failure happened on 'Source' side. ErrorCode=SqlOperationFailed'. The on-premises SQL Server is under heavy load during business hours. What is the most likely cause?

A.The SQL Server is experiencing resource contention or timeout due to heavy load.
B.The Azure Blob Storage account is throttling requests.
C.The authentication method to SQL Server is incorrect.
D.The self-hosted integration runtime is not connected to the network.
AnswerA

Under heavy business-hours load, the on-premises SQL Server cannot service the copy activity's queries within the timeout window, so the source-side SqlOperationFailed error surfaces intermittently. The self-hosted integration runtime simply relays this; the constraint is server resource contention, not connectivity or credentials.

Why this answer

The error 'SqlOperationFailed' on the source side indicates that the SQL Server itself is failing to complete the query or data extraction operation. Under heavy load, the SQL Server may experience resource contention (CPU, memory, I/O) or reach query timeout thresholds, causing the copy activity to fail intermittently. This is consistent with the described scenario of heavy load during business hours.

Exam trap

The trap here is that candidates may confuse a source-side error with a sink-side error, or assume that any intermittent failure must be a network or connectivity issue, rather than recognizing that SQL Server resource contention under heavy load is a classic cause of intermittent 'SqlOperationFailed' errors.

How to eliminate wrong answers

Option B is wrong because Azure Blob Storage throttling would produce an error on the 'Sink' side (e.g., 'StorageError' or 'BlobOperationFailed'), not on the 'Source' side. Option C is wrong because an incorrect authentication method would cause a persistent authentication failure (e.g., 'Login failed for user') on every attempt, not intermittent failures. Option D is wrong because if the self-hosted integration runtime were not connected to the network, the pipeline would fail consistently with a connectivity error (e.g., 'Unable to connect to Integration Runtime'), not an intermittent SQL operation error.

351
MCQhard

You are a data engineer for a retail company that uses Azure Synapse Analytics. You have a dedicated SQL pool that contains a large fact table named SalesFact. Queries on SalesFact often filter by TransactionDate and join to a dimension table named Product. You notice that these queries perform poorly and sometimes spill to tempdb. You need to optimize the table design to improve query performance and reduce tempdb usage. What should you do?

A.Distribute both SalesFact and Product using round-robin distribution.
B.Distribute SalesFact using hash distribution on ProductKey, and replicate Product.
C.Distribute SalesFact using hash distribution on TransactionDate, and replicate Product.
D.Replicate SalesFact and distribute Product using hash distribution on ProductKey.
AnswerB

Hash distributing the fact table on ProductKey aligns with the join key to the Product dimension, enabling collocated joins and minimizing data movement. Replicating the smaller Product dimension eliminates the need for data movement during joins altogether. This design reduces query time and tempdb spills by avoiding costly shuffle operations. It is a standard best practice for star schema optimization in dedicated SQL pools.

Why this answer

In a dedicated SQL pool, hash distributing the large fact table on the common join key ProductKey collocates related rows and enables efficient joins with the Product dimension. Replicating the smaller Product dimension eliminates data movement entirely for joins. This combination minimizes shuffle operations, reduces tempdb spills, and improves query performance.

It is the recommended approach for optimizing star schema queries.

Exam trap

The trap here is choosing a distribution column based on a filter column rather than the join key, or replicating the large fact table, both of which lead to excessive data movement or resource consumption.

352
MCQeasy

You are designing a data processing pipeline in Azure Data Factory. The pipeline must copy data from Azure Blob Storage to Azure SQL Database and transform the data using a mapping data flow. The data flow includes a Derived Column transformation. What is the purpose of the Derived Column transformation?

A.Aggregate data by grouping rows.
B.Create new columns or modify existing columns using expressions.
C.Sort data in ascending or descending order.
D.Rename or drop columns.
AnswerB

The Derived Column transformation generates new columns or overwrites existing ones by evaluating expression-language formulas against incoming stream data, satisfying the pipeline's requirement to transform data within the mapping data flow. Unlike Select, which only renames or drops columns, it computes values, enabling calculated fields during the Blob Storage to Azure SQL Database copy.

Why this answer

The Derived Column transformation in Azure Data Factory mapping data flows is used to create new columns or modify existing columns by applying expressions. This allows you to perform calculations, string manipulations, or conditional logic directly within the data flow, enabling in-flight data transformation before writing to the sink.

Exam trap

The trap here is that candidates confuse the Derived Column transformation with the Select transformation, assuming it is used for renaming or dropping columns, when in fact Derived Column is specifically for creating or modifying column values via expressions.

How to eliminate wrong answers

Option A is wrong because aggregating data by grouping rows is the purpose of the Aggregate transformation, not the Derived Column transformation. Option C is wrong because sorting data is performed by the Sort transformation, which reorders rows based on column values. Option D is wrong because renaming or dropping columns is handled by the Select transformation, which allows you to include, exclude, or alias columns.

353
MCQhard

You are implementing a data processing solution in Azure Databricks. The solution reads JSON files from Azure Data Lake Storage Gen2, performs complex transformations using PySpark, and writes the results to a Delta table. You need to ensure that the write operation is idempotent and can recover from failures without duplicating data. Which approach should you use?

A.Use the merge operation with a unique key to upsert records into the Delta table.
B.Write the output in append mode and use a deduplication step after each run.
C.Write the output using the overwrite mode to replace the entire Delta table on each run.
D.Write the output to a temporary Parquet file and then use a Copy activity to move it to the Delta table.
AnswerA

Delta Lake's merge operation allows you to upsert records based on a unique key, making the write idempotent. If the job fails and is rerun, the merge will update existing records and insert new ones without creating duplicates. This satisfies the requirement for idempotent and recoverable writes.

Why this answer

The merge operation in Delta Lake enables upserts based on a unique key, ensuring that rerunning the job after a failure does not duplicate data. It provides ACID transactions and idempotence, which are critical for reliable data processing. Append mode and overwrite mode do not offer the same guarantees, and temporary files with Copy activity lack transactional integrity.

Exam trap

The trap here is assuming that append mode with post-deduplication is sufficient for idempotence, when merge is the designed mechanism for upserts.

354
MCQhard

You are implementing a Spark Structured Streaming job in Azure Databricks that reads from an Azure Event Hubs topic and writes to a Delta table. The job must handle late-arriving data up to 10 minutes and aggregate counts per device every 5 minutes. Which combination of settings should you use?

A.Use a tumbling window of 5 minutes and set watermark to 10 minutes on the event timestamp.
B.Use a sliding window of 5 minutes with a 10-minute slide interval and set watermark to 5 minutes.
C.Use a tumbling window of 10 minutes and set watermark to 5 minutes.
D.Use a hopping window of 5 minutes with a 5-minute hop and set watermark to 10 minutes.
AnswerA

A tumbling window of 5 minutes creates non-overlapping aggregation intervals, and a watermark of 10 minutes allows late data up to that delay to be included in the correct window. This matches the requirement for 5-minute counts and tolerance for 10-minute late arrivals. Watermarking also enables state cleanup for long-running streams, preventing unbounded state growth.

Why this answer

A tumbling window of 5 minutes with a 10-minute watermark on the event timestamp satisfies both the aggregation interval and the late-data tolerance. The tumbling window ensures non-overlapping 5-minute counts, and the watermark allows events up to 10 minutes late to be included. Other options use incorrect window sizes, slide intervals, or watermark durations that fail the requirements.

Exam trap

The trap here is mixing up the window duration with the watermark duration; the watermark must be at least as long as the maximum expected late arrival, while the window defines the aggregation period.

355
MCQeasy

You need to orchestrate a data pipeline that includes a Python script and a Data Flow in Azure Synapse Analytics. The Python script must run before the Data Flow. Which activity should you use to run the Python script?

A.Notebook activity configured to use a Python kernel
B.Web activity
C.Stored Procedure activity
D.HDInsight Hive activity
AnswerA

A Notebook activity runs the Python script in a Spark pool with a Python kernel, and its success output can be wired as the dependency that gates the subsequent Data Flow activity, satisfying the required run-before ordering.

Why this answer

A Notebook activity in Azure Synapse Analytics can be configured to use a Python kernel, allowing you to run a Python script directly within the pipeline. This is the correct choice because the requirement is to execute a Python script before a Data Flow, and the Notebook activity supports Python execution natively in Synapse pipelines.

Exam trap

The trap here is that candidates may confuse a Notebook activity with a Web activity or a Stored Procedure activity, thinking they can execute arbitrary code, but only the Notebook activity supports Python execution natively in Synapse pipelines.

How to eliminate wrong answers

Option B is wrong because a Web activity calls an HTTP/S endpoint (e.g., a REST API) and cannot run a Python script directly; it is used for invoking external services, not for executing code within Synapse. Option C is wrong because a Stored Procedure activity executes SQL stored procedures in a database, which is not designed for running Python scripts. Option D is wrong because an HDInsight Hive activity runs Hive queries on an HDInsight cluster, not Python scripts; it is meant for HiveQL, not Python execution.

356
MCQhard

You are reviewing an Azure PowerShell script that sets permissions on a directory in Azure Data Lake Storage Gen2. The script sets a default ACL for a user on the path 'sales/2024/01/'. What is the effect of the -DefaultScope parameter?

A.The ACL replaces the existing access ACL on the directory.
B.The ACL is inherited by all new child items created under this directory.
C.The ACL is applied to all existing files and subdirectories recursively.
D.The ACL is applied only to files, not subdirectories.
AnswerB

-DefaultScope sets a default ACL on the directory rather than an access ACL, so the entry is automatically inherited by every new child item created beneath 'sales/2024/01/'. Existing items remain unaffected; only newly created files and subdirectories receive the inherited permission.

Why this answer

The -DefaultScope parameter in Azure Data Lake Storage Gen2 sets a default ACL entry. Default ACLs do not set permissions on the current directory; instead, they define permissions that are inherited by new child items (files and subdirectories) created under that directory. Therefore, option B is correct.

Option A is incorrect because default ACLs do not replace the access ACL; access ACLs are set separately without -DefaultScope. Option C is incorrect because default ACLs do not apply to existing items; they only affect future items. Option D is incorrect because default ACLs apply to both new files and new subdirectories.

357
MCQhard

A healthcare company stores patient records in Azure Data Lake Storage Gen2. The data must be encrypted at rest using customer-managed keys (CMK) stored in Azure Key Vault. The company also requires that the encryption keys are automatically rotated every 90 days. You need to configure the storage account to meet these requirements. What should you do?

A.Use Azure Disk Encryption with customer-managed keys and schedule a runbook to rotate the keys every 90 days.
B.Enable Azure Storage Service Encryption with Microsoft-managed keys and configure a key rotation policy in Azure Key Vault.
C.Enable infrastructure encryption on the storage account and use Microsoft-managed keys for automatic rotation.
D.Configure the storage account to use customer-managed keys from Azure Key Vault and set a key rotation policy in Azure Key Vault.
AnswerD

Azure Storage supports customer-managed keys stored in Azure Key Vault. By configuring the storage account to use a key from Key Vault and setting a rotation policy on that key, you can automatically rotate the key every 90 days. The storage account will use the latest key version, ensuring encryption with rotated keys.

Why this answer

To use customer-managed keys with Azure Data Lake Storage Gen2, you configure the storage account to reference a key in Azure Key Vault. Azure Key Vault supports automatic key rotation policies, which can rotate the key every 90 days. The storage account automatically uses the new key version.

This meets both encryption at rest with CMK and automatic rotation requirements.

Exam trap

The trap here is confusing Azure Disk Encryption with storage account encryption, or assuming that Microsoft-managed keys can have custom rotation policies.

358
MCQeasy

You are troubleshooting an Azure Databricks job that writes data to Azure Data Lake Storage Gen2. The job fails with '403 Forbidden' error. The Databricks workspace uses a managed identity (system-assigned) for authentication. What should you verify?

A.The storage account name is correct
B.The storage account firewall is configured to allow Azure services
C.A private endpoint is configured between Databricks and the storage account
D.The managed identity has 'Storage Blob Data Contributor' role assigned to the storage account
AnswerD

The 403 arises because the system-assigned managed identity lacks data-plane authorisation on the storage account. Granting Storage Blob Data Contributor at the account or container scope supplies the OAuth permissions needed for writes to Data Lake Storage Gen2.

Why this answer

The 403 Forbidden error indicates that authentication succeeded but authorization failed. For a managed identity to write data to Azure Data Lake Storage Gen2, it must be assigned the 'Storage Blob Data Contributor' RBAC role on the storage account. This role grants read, write, and delete permissions for blobs and directories.

Without this role assignment, the managed identity cannot write data, resulting in a 403 error. Even if the storage account name is correct (A), the firewall is configured (B), or a private endpoint exists (C), the missing RBAC role assignment will cause the failure.

Exam trap

A common trap is to confuse 403 Forbidden (authorization failure) with 404 Not Found (resource not found). Ensure you check RBAC role assignments for managed identities rather than network configurations or resource existence.

359
Multi-Selecthard

You manage an Azure Data Lake Storage Gen2 account that stores sensitive financial data. The data must be encrypted at rest, and access must be audited. You need to ensure that encryption keys are managed by your organization and that all access attempts are logged. Which TWO actions should you take? (Choose two.)

Select 2 answers
A.Enable Azure Storage Service Encryption with Microsoft-managed keys.
B.Enable diagnostic logging for the storage account and send logs to Azure Monitor.
C.Configure customer-managed keys in Azure Key Vault for the storage account.
D.Use Azure Private Link to restrict access to the storage account.
E.Enable Azure Defender for Storage.
AnswersB, C

Diagnostic logging captures read, write, and delete operations on the storage account, which can be sent to Azure Monitor, Log Analytics, or a storage account for auditing. This satisfies the requirement to log all access attempts. It provides detailed audit trails for compliance and security investigations.

Why this answer

To meet the requirements, you need customer-managed keys for organizational control over encryption keys, and diagnostic logging to audit all access attempts. Customer-managed keys are configured in Azure Key Vault and used by the storage account for encryption at rest. Diagnostic logs capture detailed access information and can be routed to Azure Monitor for analysis and retention.

Exam trap

The trap here is confusing threat detection with audit logging; Azure Defender for Storage alerts on anomalies but does not provide a complete access log.

360
MCQmedium

You are using Azure Synapse Analytics dedicated SQL pool to process large fact tables. You need to improve query performance for joins between a large fact table and a small dimension table. The dimension table is less than 2 GB. What should you do?

A.Replicate the dimension table to all distributions.
B.Round-robin distribute the dimension table.
C.Create a clustered columnstore index on the dimension table.
D.Hash distribute the dimension table on the join key.
AnswerA

In a dedicated SQL pool, replicated tables are copied to every distribution. For small dimension tables under 2 GB, replication eliminates data movement during joins with large fact tables, improving performance. This is the recommended strategy for star schema joins.

Why this answer

Replicating a small dimension table in a dedicated SQL pool ensures each distribution has a local copy, eliminating data movement during joins with large fact tables. Hash and round-robin distributions do not guarantee colocation, and columnstore indexes do not solve data movement.

Exam trap

The trap here is focusing on indexing or distribution methods that do not eliminate data movement for joins with small tables.

361
MCQmedium

A data engineer is designing a monitoring solution for Azure Data Factory pipelines. They need to be alerted when a pipeline run fails or when the duration exceeds a threshold. The solution must minimize cost and operational overhead. Which approach should they use?

A.Configure Azure Event Grid to send pipeline run events to Azure Functions for alerting.
B.Use Azure Monitor metrics and activity logs to create alert rules for pipeline failures and duration.
C.Send all pipeline run logs to Log Analytics and create alert rules based on custom log searches.
D.Create an Azure Logic App that runs every minute to check pipeline run status via REST API.
AnswerB

Azure Monitor natively captures Data Factory pipeline run outcomes and duration metrics, so alert rules trigger on failures or threshold breaches without extra infrastructure. This satisfies the minimise cost and operational overhead constraint, since no custom logging, storage or polling code is required.

Why this answer

Azure Monitor provides native, cost-effective alerting for Azure Data Factory pipelines using metrics (e.g., pipeline run duration) and activity logs (e.g., pipeline run failures). This approach requires no additional compute or log ingestion costs, as alerts are configured directly on the resource's monitoring data, minimizing both cost and operational overhead.

Exam trap

The trap here is that candidates over-engineer the solution by choosing event-driven or log-based approaches (A, C, D) when the simplest, most cost-effective native monitoring (Azure Monitor alerts) is available, often forgetting that Data Factory emits metrics and activity logs by default without additional setup.

How to eliminate wrong answers

Option A is wrong because Azure Event Grid with Azure Functions introduces unnecessary complexity and cost (function execution time) for a scenario that can be handled natively by Azure Monitor alerts without custom code. Option C is wrong because sending all pipeline run logs to Log Analytics incurs ingestion and retention costs, and custom log search alerts are more expensive and operationally heavier than using built-in metrics and activity log alerts. Option D is wrong because running a Logic App every minute to poll the REST API creates recurring execution costs and latency, and is an inefficient polling pattern compared to the event-driven, push-based alerting provided by Azure Monitor.

362
Multi-Selectmedium

Which TWO actions should you take to optimize query performance in Azure Synapse Analytics dedicated SQL pool when working with large fact tables?

Select 2 answers
A.Use replicated distribution for the fact table.
B.Use round-robin distribution to evenly distribute data.
C.Create statistics on columns used in WHERE clauses.
D.Use clustered index instead of columnstore index.
E.Implement table partitioning on a date column.
AnswersC, E

Creating statistics on filtered columns gives the dedicated SQL pool's query optimiser accurate cardinality estimates, enabling it to choose better join strategies and avoid full table scans. This directly satisfies the stem's large fact table constraint, where stale or missing statistics cause poor distribution-aware execution plans and inflated data movement.

Why this answer

Option C is correct because creating statistics on columns used in WHERE clauses gives the dedicated SQL pool's query optimizer accurate cardinality estimates, enabling better join orders and scan strategies for large fact tables. Option E is correct because partitioning a large fact table on a date column enables partition elimination, so queries filtering on that date range scan only relevant partitions instead of the entire table. Options A and B are incorrect: replicated distribution copies the full fact table to every compute node, which is meant for small dimension tables and would be prohibitively expensive for large fact tables, while round-robin distribution is a generic fallback that does not align data for joins and causes costly data movement.

Option D is incorrect because clustered columnstore indexes are the recommended default for large fact tables in dedicated SQL pools, delivering high compression and fast analytical scans, whereas a clustered (rowstore) index is generally inferior for this workload.

Exam trap

The trap here is that candidates often confuse distribution methods (replicated, round-robin, hash) with performance tuning for large fact tables, overlooking that statistics maintenance is a critical and separate optimization step that directly impacts query plan quality.

363
Multi-Selecthard

You are optimizing an Azure Synapse Analytics dedicated SQL pool that contains a large fact table with over 1 billion rows. Queries frequently join this fact table with smaller dimension tables on a distribution key. You notice that many queries perform poorly due to data movement. You need to reduce data movement and improve query performance. Which two actions should you take? (Choose two.)

Select 2 answers
A.Partition the fact table by date.
B.Use round-robin distribution for the fact table.
C.Create a clustered columnstore index on the fact table.
D.Use hash distribution on the fact table's join column.
E.Replicate the dimension tables.
AnswersD, E

Hash distribution on the join column ensures that rows with the same join key are stored on the same distribution. When joining with dimension tables that are replicated or similarly distributed, this co-location minimizes data movement across distributions. For large fact tables, choosing the most common join column as the distribution key is a best practice to reduce shuffle operations and improve query performance.

Why this answer

Hash distributing the fact table on the join column and replicating the dimension tables co-locate related data, minimizing data movement during joins. This is a standard optimization in Azure Synapse Analytics dedicated SQL pools. Other options do not address the root cause of data movement.

Exam trap

The trap here is focusing on indexing or partitioning, which improve storage and filtering but do not eliminate data movement during joins; distribution design is key.

364
MCQhard

You manage an Azure Synapse Analytics dedicated SQL pool. A nightly ELT job loads a large fact table and then runs UPDATE statements on many rows. You observe that tempdb usage grows until the load fails. You need to reduce tempdb pressure during the update phase. What should you do?

A.Enable result set caching on the dedicated SQL pool.
B.Increase the size of tempdb by scaling the dedicated SQL pool to a higher DWU.
C.Replace the row-by-row updates with a CTAS-based pattern that rebuilds the affected partitions.
D.Change the distribution of the fact table to ROUND_ROBIN.
AnswerC

Dedicated SQL pool UPDATE statements are implemented internally and can generate large amounts of movement and logging that spill into tempdb. Rebuilding affected partitions with CREATE TABLE AS SELECT writes new data directly and swaps partitions, avoiding the row-level update path. This is the documented pattern for large modifications and directly reduces tempdb consumption during the load window.

Why this answer

Large UPDATE operations in dedicated SQL pools incur significant logging and data movement that consume tempdb. The recommended approach for substantial changes is to use CREATE TABLE AS SELECT to produce a new version of the affected partitions and then switch them in. This avoids the row-level update engine path, reduces tempdb growth, and is faster for bulk modifications.

Exam trap

The trap here is believing that scaling up the service level or enabling a caching feature will fix tempdb pressure, when the real cause is the modification pattern itself.

365
MCQhard

An organization is using Azure Data Factory to ingest data from multiple on-premises SQL Server databases into Azure Synapse Analytics. They need to ensure that sensitive data is masked during ingestion before landing in the staging area. What is the best approach?

A.Apply an Azure Policy that masks sensitive data in Azure Synapse Analytics.
B.Use Azure SQL Database dynamic data masking on the source databases.
C.Use a Mapping Data Flow with derived column transformations to mask sensitive columns.
D.Use Azure Purview to classify and mask sensitive data automatically.
AnswerC

Mapping Data Flows run on Spark and support derived column transformations, letting you apply masking expressions such as hashing or partial replacement to sensitive columns as data flows through the pipeline. Masking occurs before landing in staging, satisfying the pre-ingestion masking requirement.

Why this answer

A Mapping Data Flow in Azure Data Factory can apply derived column transformations to mask sensitive fields (for example, using SHA2 hashing, substring, or fixed replacement) as data flows from source to sink. Because the masking occurs in the pipeline before data lands in the staging area, this satisfies the requirement to mask during ingestion.

Exam trap

DP-203 often tests the confusion between classification (Purview), policy enforcement (Azure Policy), and source-side masking (dynamic data masking) versus actual in-pipeline transformation — only a data flow transformation masks data before it lands.

How to eliminate wrong answers

Option A is wrong because Azure Policy enforces governance and compliance rules on resources; it does not mask data values during ingestion. Option B is wrong because dynamic data masking on the source databases only affects query results for non-privileged users — it does not alter the data extracted by ADF, so unmasked data still lands in staging. Option D is wrong because Azure Purview classifies and catalogs sensitive data and can trigger scans, but it does not perform inline masking of data during pipeline ingestion.

366
MCQmedium

You are monitoring an Azure Data Lake Storage Gen2 account using Azure Monitor. You need to be alerted when the number of storage account requests exceeds 20,000 per hour. What is the most efficient way to set up this alert?

A.Create a Log Analytics workspace and write a KQL query to count requests.
B.Create an Activity Log alert for 'List Storage Account Keys' events.
C.Create a metric alert on the 'Transactions' metric with a threshold of 20,000 and aggregation granularity of 1 hour.
D.Use Azure Advisor to recommend scaling.
AnswerC

The Transactions metric natively counts storage account requests, so a metric alert with a one-hour aggregation granularity and a 20,000 threshold evaluates the hourly request volume directly, avoiding the latency and cost of log-based query alerts.

Why this answer

The 'Transactions' metric in Azure Monitor can be used to count the number of requests to the storage account, and you can set a metric alert with a threshold of 20,000 aggregated over an hour. This is the most efficient method as it directly uses the metric without needing complex queries. Option A is wrong because it requires creating a Log Analytics workspace and writing a KQL query, which is more complex and less efficient than a metric alert.

Option B is wrong because Activity Log alerts are for management events like 'List Storage Account Keys', not for data transaction counts. Option D is wrong because Azure Advisor provides recommendations, not custom alerting on specific metric thresholds.

367
MCQeasy

You are running a Spark job in Azure Synapse Analytics that reads from a Delta Lake table and performs multiple transformations. The job fails with an out-of-memory error on the executors. Which action should you take first to resolve the issue?

A.Enable checkpointing to truncate the lineage.
B.Decrease the number of partitions to reduce overhead.
C.Increase the executor memory setting in the Spark configuration.
D.Use the cache() action on intermediate DataFrames.
AnswerC

Executor out-of-memory errors arise when each executor's JVM heap cannot hold the partition data during transformations. Raising spark.executor.memory gives those executors more heap, directly relieving the constraint. Partition tuning or skew handling may follow, but increasing memory is the quickest first action.

Why this answer

An out-of-memory error on executors indicates that the available memory per executor is insufficient for the data being processed. Increasing the executor memory setting in the Spark configuration directly addresses this by allocating more heap space, allowing transformations to complete without spilling to disk or failing. This is the first and most straightforward action to take before optimizing partitioning or caching.

Exam trap

The trap here is that candidates often confuse memory issues with partitioning or caching optimizations, but the immediate fix for an out-of-memory error is to increase executor memory, not to reduce parallelism or persist data.

How to eliminate wrong answers

Option A is wrong because checkpointing truncates the lineage and helps with recovery and plan optimization, but it does not directly increase available memory or resolve an out-of-memory error. Option B is wrong because decreasing the number of partitions reduces parallelism and can actually increase memory pressure per partition, worsening the out-of-memory issue. Option D is wrong because using cache() persists intermediate DataFrames in memory, which consumes additional memory and can exacerbate the out-of-memory error rather than resolving it.

368
MCQhard

A retail analytics team stores Parquet files in Azure Data Lake Storage Gen2 partitioned by year, month, and day. Queries in Azure Synapse serverless SQL pools filter on a transaction date column, but performance is poor because the engine scans all files in the folder hierarchy. You need to reduce the amount of data scanned without changing the file layout. What should you implement?

A.Use the filepath() function in the OPENROWSET query to filter on the year, month, and day segments of the folder path.
B.Enable result set caching on the serverless database and set the cache retention period to seven days.
C.Create an external data source and external table over the folder and query the external table instead of using OPENROWSET directly.
D.Create a partitioned table in a dedicated SQL pool and load the Parquet files into it using PolyBase.
AnswerA

The filepath() function exposes virtual columns derived from the folder path, so filtering on those columns lets the serverless engine eliminate entire folders and read only matching files. This reduces scanned data without moving or rewriting the Parquet files.

Why this answer

Files stored in a year/month/day hierarchy can be pruned by exposing the path segments as virtual columns through the filepath() function and filtering on them. The serverless engine then skips folders that do not match, cutting the amount of data scanned. External tables without partition elimination, dedicated pool loading, or result set caching do not address the scan volume for arbitrary filtered queries.

Exam trap

The trap here is believing that simply querying through an external table automatically prunes partitions, when elimination requires explicit path-based predicates such as filepath().

369
MCQhard

A data engineering team uses Azure Stream Analytics to process real-time IoT data. They notice that the job's watermark delay is increasing over time, and the output is falling behind. The input is from Event Hubs with 10 partitions. The job uses a 5-minute hopping window with a 1-minute hop. What is the most likely cause?

A.The hopping window size is too large.
B.The late arrival tolerance is set too high.
C.The job is under-provisioned in terms of Streaming Units (SUs).
D.The Event Hubs partition count does not match the Stream Analytics job's parallelism.
AnswerC

Insufficient Streaming Units cap the job's CPU and memory throughput, so Event Hubs partitions cannot be processed fast enough and the watermark falls progressively behind. Scaling SUs raises parallel processing capacity, directly addressing the growing watermark delay constraint described in the stem.

Why this answer

The increasing watermark delay and falling behind output indicate that the Stream Analytics job cannot keep up with the input throughput. With a 5-minute hopping window (1-minute hop) processing 10 Event Hubs partitions, the job requires sufficient Streaming Units (SUs) to handle the compute load. Under-provisioned SUs cause backpressure, leading to rising watermark delay as the job struggles to process events within the window boundaries.

Exam trap

The trap here is that candidates often confuse watermark delay with configuration issues like window size or late arrival tolerance, but the progressive nature of the delay points directly to resource starvation (SU under-provisioning) rather than a static configuration problem.

How to eliminate wrong answers

Option A is wrong because the hopping window size (5 minutes with 1-minute hop) is a standard temporal window configuration and does not inherently cause watermark delay; larger windows actually reduce computational frequency. Option B is wrong because setting the late arrival tolerance too high would allow more late events to be included, potentially increasing watermark delay, but the question states the delay is increasing over time, which is a symptom of insufficient processing capacity, not a configuration that would cause progressive delay. Option D is wrong because Stream Analytics automatically handles partition alignment with Event Hubs partitions when the job's parallelism is set to 1 (default) or when using the same partition count; mismatched partition counts do not cause increasing watermark delay but may cause uneven data distribution or idle partitions.

370
MCQeasy

Your team is developing a data processing solution that uses Azure Databricks to transform streaming data from Azure Event Hubs. The transformation includes joining the stream with a static reference table stored in Azure Data Lake Storage Gen2. You need to implement the join efficiently. Which approach should you use?

A.Use a watermark on both sides and perform a stream-stream join
B.Use a broadcast join with the static DataFrame loaded from Delta Lake
C.Use foreachBatch to micro-batch the stream and perform a batch join
D.Use a stream-stream join by converting the static table to a stream
AnswerB

The static reference table is small, so broadcasting it to every executor node eliminates the shuffle required by a sort-merge join. Loading it from Delta Lake gives a cached, versioned DataFrame, making the stream-to-static join efficient.

Why this answer

A broadcast join is the most efficient approach when joining a streaming DataFrame with a static reference table. The static table is loaded as a DataFrame from Delta Lake, and Spark broadcasts it to all executors, avoiding a shuffle of the large streaming data. This is ideal because the static table is typically small enough to fit in memory, and it eliminates the need for watermarking or state management required in stream-stream joins.

Exam trap

DP-203 often tests the misconception that stream-stream joins are always required for joining streaming data, but when one side is static, a broadcast join is more efficient and simpler.

How to eliminate wrong answers

Option A is wrong because stream-stream joins require watermarks on both sides to handle late data and state cleanup, which adds complexity and latency, and is unnecessary when one side is static. Option C is wrong because foreachBatch processes data in micro-batches, which can be less efficient and does not leverage Spark's built-in broadcast join optimization for streaming-static joins. Option D is wrong because converting the static table to a stream forces a stream-stream join, which requires watermarks and stateful processing, increasing overhead and complexity.

371
MCQhard

Refer to the exhibit. You have an Azure Synapse Analytics workspace. You need to ensure that data processing jobs can access the Data Lake Storage Gen2 account using a managed identity. What should you do?

A.Use the SQL admin login credentials to access the storage account
B.Enable the system-assigned managed identity on the Synapse workspace and assign it the 'Storage Blob Data Contributor' role on the storage account
C.Create a private endpoint connection between the workspace and the storage account
D.Configure the storage account firewall to allow access from the Synapse workspace
AnswerB

A system-assigned managed identity gives the Synapse workspace a Microsoft Entra ID service principal, and granting it Storage Blob Data Contributor on the account authorises read and write access to blob data without storing secrets.

Why this answer

Azure Synapse Analytics supports system-assigned managed identities, which provide a secure, passwordless authentication method for accessing Azure Data Lake Storage Gen2. By enabling the managed identity on the Synapse workspace and assigning it the 'Storage Blob Data Contributor' role, you grant the workspace's data processing jobs the necessary permissions to read, write, and delete data in the storage account without managing credentials.

Exam trap

The trap here is that candidates often confuse network-level access controls (firewall rules or private endpoints) with identity-based authorization (RBAC), mistakenly thinking that allowing network traffic alone is sufficient for data access.

How to eliminate wrong answers

Option A is wrong because using SQL admin login credentials to access a storage account is not supported; SQL authentication is for database access, not for Azure Storage RBAC. Option C is wrong because creating a private endpoint ensures network-level isolation and private connectivity, but it does not grant the identity permissions to access the storage account; RBAC role assignment is still required. Option D is wrong because configuring the storage account firewall to allow access from the Synapse workspace only controls network traffic, not authentication or authorization; the managed identity still needs the appropriate RBAC role to perform data operations.

372
MCQmedium

You are a data engineer for a healthcare company. You have an Azure Data Lake Storage Gen2 account that stores sensitive patient data. You need to ensure that all access to the data is logged and that you can audit who accessed which files and when. You also need to minimize administrative effort. Which solution should you implement?

A.Enable Azure Storage analytics logging and store logs in a separate storage account.
B.Use Azure Advisor to monitor access and generate audit reports.
C.Implement Azure Private Link for the storage account and enable network security groups.
D.Configure diagnostic settings to send logs to Azure Monitor Logs and use Log Analytics to query access logs.
AnswerD

Configuring diagnostic settings to send Data Lake Storage Gen2 logs (such as StorageRead, StorageWrite, StorageDelete) to Azure Monitor Logs enables centralized logging and auditing. Log Analytics provides a powerful query language to analyze access patterns, identify who accessed files, and when. This solution minimizes administrative effort because it integrates with Azure Monitor and requires no custom logging infrastructure.

Why this answer

Configuring diagnostic settings to send Data Lake Storage Gen2 logs to Azure Monitor Logs and using Log Analytics to query them provides a comprehensive auditing solution with minimal administrative effort. This approach captures detailed access logs, including who accessed files and when, and integrates with Azure Monitor for easy analysis and alerting. It is the recommended method for auditing access to sensitive data in Data Lake Storage Gen2.

Exam trap

The trap here is assuming that network security features like Private Link or classic storage analytics logging provide auditing, but they do not capture detailed access logs in a queryable format.

373
MCQeasy

Your Azure Data Lake Storage Gen2 account stores sensitive data. You need to audit who accesses the data and when, and you want to send the audit logs to a Log Analytics workspace for analysis. What should you configure?

A.Azure Activity Logs
B.Microsoft Sentinel
C.Azure Monitor alerts
D.Diagnostic settings on the storage account
AnswerD

Diagnostic settings on the storage account route read, write and delete access logs to a Log Analytics workspace, capturing who accessed the data and when. This satisfies both the auditing and log-destination requirements stated in the stem.

Why this answer

Diagnostic settings on the storage account can stream audit logs (like read, write, delete) to Log Analytics for analysis. Option A is incorrect because Azure Activity Logs capture control plane operations, not data plane access. Option B is incorrect because Microsoft Sentinel is a SIEM that would consume logs from diagnostic settings, not a direct configuration for log collection.

Option C is incorrect because Azure Monitor alerts are for notifications based on metrics or logs, not for collecting logs.

374
Matchingmedium

Match each Azure service to its primary purpose in a data engineering pipeline.

Drag a concept onto its matching description — or click a concept then click the description.

Concepts
Matches

Scalable data lake for analytics workloads

Unified analytics platform with SQL and Spark

Cloud-based ETL and data integration service

Real-time stream processing service

Apache Spark-based analytics platform

Why these pairings

The correct matches are: Azure Data Lake Storage Gen2 as a scalable data lake, Azure Synapse Analytics as a unified data warehousing platform, Azure Data Factory for data integration and orchestration, and Azure Databricks for Spark-based analytics. Common confusions include swapping storage and integration services, or mistaking data lakes for data warehousing.

375
MCQeasy

You are using Azure Databricks to process a large dataset stored in Azure Data Lake Storage Gen2. The data is in Parquet format and you need to optimize read performance for a query that filters on a specific column. What should you do?

A.Cache the entire dataset in memory using the Databricks cache.
B.Increase the number of shuffle partitions in the Spark session configuration.
C.Convert the Parquet files to CSV format to enable predicate pushdown.
D.Partition the data by the filter column when writing the Parquet files.
AnswerD

Partitioning the data by the filter column organizes files into directories based on column values. When querying with a filter on that column, Databricks can prune irrelevant partitions, reading only the necessary data. This significantly reduces I/O and improves performance for large datasets. It is a standard optimization technique for Parquet in data lakes.

Why this answer

Partitioning Parquet data by the filter column allows Spark to skip reading irrelevant partitions, drastically reducing I/O. This is a fundamental optimization for large datasets in data lakes. Other options either do not address the read pattern or could worsen performance.

Partitioning is a best practice for improving query performance on filtered columns.

Exam trap

The trap here is thinking that caching or shuffle tuning can replace the need for physical data organization like partitioning for filter queries.

Page 4

Page 5 of 7

Page 6

All pages