Courseiva

CCNA Develop data processing Questions

75 of 261 questions · Page 3/4 · Develop data processing · Answers revealed

151
MCQhard

You are building a data processing pipeline in Azure Synapse Analytics. The pipeline should read data from Azure Data Lake Storage Gen2 (Parquet files), apply transformations using a mapping data flow, and write the results to a dedicated SQL pool table. The source data contains personally identifiable information (PII). You need to mask the PII columns (e.g., email) using a data masking function within the data flow. Which transformation should you use?

A.Derived Column transformation
B.Join transformation
C.Aggregate transformation
D.Pivot transformation
AnswerA

Derived Column can apply expressions, including hash functions like SHA2 for masking PII.

Why this answer

The Derived Column transformation in mapping data flows allows you to create new columns or modify existing ones using expressions, including built-in data masking functions like `mask()`, `maskEmail()`, or `substring()`. This is the correct transformation to apply PII masking on columns such as email addresses within the data flow pipeline before writing to the dedicated SQL pool.

Exam trap

The trap here is that candidates may confuse the Derived Column transformation with the Select transformation (which can also rename or drop columns but does not support expression-based masking), or assume that masking must be done in the sink (dedicated SQL pool) rather than within the data flow itself.

How to eliminate wrong answers

Option B (Join transformation) is wrong because it is used to combine rows from two sources based on a matching condition, not to mask or transform column values. Option C (Aggregate transformation) is wrong because it performs grouping and aggregation operations (e.g., SUM, COUNT) and does not support per-row data masking functions. Option D (Pivot transformation) is wrong because it rotates rows into columns for reshaping data, not for applying masking or transformations to individual column values.

152
MCQmedium

You are building a real-time dashboard that displays sales data from an Azure SQL Database. The dashboard must refresh every 30 seconds with minimal latency. You need to choose the appropriate Azure service for data processing and visualization. Which service should you use?

A.Azure Analysis Services with a tabular model and a scheduled refresh every 30 seconds.
B.Azure Data Explorer (ADX) with a continuous export to Power BI.
C.Power BI with DirectQuery mode and configure automatic page refresh.
D.Azure Synapse Serverless SQL pool with Power BI import mode.
AnswerC

DirectQuery mode allows real-time queries to Azure SQL Database; automatic page refresh supports 30-second intervals.

Why this answer

Power BI with DirectQuery mode is the correct choice because it allows real-time queries directly against Azure SQL Database, supporting automatic page refresh every 30 seconds with minimal latency. Azure Analysis Services requires data processing and is not designed for sub-minute refreshes. Azure Data Explorer is optimized for time-series data, not for direct connection to Azure SQL Database for real-time dashboards.

Azure Synapse Serverless SQL pool is meant for querying data lakes, not for real-time visualization with frequent refreshes.

153
MCQeasy

You are developing a data processing pipeline in Azure Databricks that processes streaming data from Azure Event Hubs. You need to ensure that the pipeline can recover from failures and process data exactly once. The pipeline writes to Delta Lake. Which approach should you use?

A.Use Azure Stream Analytics to process the stream and output to Delta Lake via Azure Data Lake Storage Gen2.
B.Use Structured Streaming with foreachBatch to write micro-batches to Delta Lake, and set the checkpoint location to Azure Data Lake Storage Gen2.
C.Use Structured Streaming with a Delta Lake sink and specify a checkpoint location on Azure Data Lake Storage Gen2.
D.Use Auto Loader to ingest streaming data from Event Hubs and write to Delta Lake with checkpointing.
AnswerC

Provides exactly-once semantics with checkpointing.

Why this answer

Using Structured Streaming with a Delta Lake sink and specifying a checkpoint location on Azure Data Lake Storage Gen2 enables exactly-once processing. Delta Lake's ACID transactions guarantee idempotent writes, and checkpointing stores stream offsets for recovery. Option A is incorrect because Azure Stream Analytics does not integrate natively with Delta Lake.

Option B is incorrect because while foreachBatch can be used for custom processing, the direct Delta Lake sink with checkpointing is the recommended approach for exactly-once semantics. Option D is incorrect because Auto Loader is for batch ingestion from files, not streaming from Event Hubs.

154
MCQeasy

Your team is building a real-time dashboard in Power BI that displays sales data from Azure Stream Analytics. The data must be updated every 5 seconds with low latency. Which output type should you configure in Stream Analytics to achieve this?

A.Power BI
B.Azure Blob Storage
C.Azure SQL Database
D.Azure Event Hubs
AnswerA

Direct streaming to Power BI for low latency.

Why this answer

Power BI is the correct output type because Azure Stream Analytics has a native Power BI output connector that supports real-time streaming datasets, enabling sub-second latency for dashboards. This connector pushes data directly to Power BI's streaming API, which refreshes visuals automatically every 5 seconds as required.

Exam trap

The trap here is that candidates often confuse Azure Event Hubs as a direct output for Power BI, overlooking that Event Hubs is an intermediary and not a visualization endpoint, while Power BI's native Stream Analytics output is the only option that directly feeds the real-time dashboard with low latency.

How to eliminate wrong answers

Option B is wrong because Azure Blob Storage is a batch-oriented, file-based storage service that introduces latency due to file writes and lacks real-time push capabilities, making it unsuitable for sub-5-second updates. Option C is wrong because Azure SQL Database, while supporting row inserts, incurs higher latency due to transactional overhead and connection pooling, and Power BI's DirectQuery or import modes cannot achieve 5-second refresh rates from SQL without significant tuning. Option D is wrong because Azure Event Hubs is a message ingestion service, not a visualization endpoint; it would require an additional downstream consumer to push data to Power BI, adding latency and complexity.

155
MCQhard

You are building a data processing solution using Azure Databricks. The solution must process streaming data from Azure Event Hubs, join it with a static reference table stored in Azure Data Lake Storage Gen2 (Parquet format), and write the output to Azure Synapse Analytics. The reference table is updated daily. Which approach minimizes latency and ensures data consistency?

A.Use Spark Structured Streaming with a streaming join and cache the reference table as a static DataFrame.
B.Use Spark Structured Streaming with foreachBatch to write to Synapse.
C.Use Spark Structured Streaming with a streaming join and load the reference table in each micro-batch.
D.Use a batch job that runs every hour to process the data.
AnswerA

Caching the reference table as static minimizes latency and ensures consistency.

Why this answer

Using Spark Structured Streaming with a streaming join and caching the reference table as a static DataFrame minimizes latency and ensures consistency by reading the reference table once and caching it for the duration of the stream. This avoids reloading the reference table in each micro-batch (as in option C) and avoids the latency of batch processing (as in option D). Option B, foreachBatch, is useful for writing to sinks like Synapse but does not address the join performance or consistency of the reference data.

156
MCQmedium

You are running a batch processing job using Azure Data Factory. The job reads from Azure Blob Storage, transforms data with a Data Flow, and writes to Azure Synapse Analytics. The job fails intermittently with the error: 'Operation on target WriteToSynapse failed: Cannot bulk load because the file could not be opened.' You need to resolve the issue with minimal downtime. What should you do?

A.Enable staging blob file deletion in the copy activity settings.
B.Increase the degree of copy parallelism in the Data Flow.
C.Use PolyBase to load data directly from Blob Storage without staging.
D.Switch to staging via SQL authentication instead of Managed Identity.
AnswerA

Deleting the staging blob after successful load prevents lock conflicts on retry.

Why this answer

The error indicates a transient lock on the staging blob file. Enabling staging blob file deletion in the copy activity settings allows the pipeline to clean up and retry. Increasing the degree of copy parallelism does not address file locking.

Using PolyBase with external tables requires schema changes. Switching to staging via SQL authentication does not solve the file lock issue.

157
MCQeasy

In Azure Synapse Analytics serverless SQL pool, you query Parquet files stored in Azure Data Lake Storage Gen2. You notice that queries are slow. Which configuration change is most likely to improve performance?

A.Partition the data in Azure Data Lake Storage Gen2
B.Create a pipeline in Azure Synapse to preprocess the data
C.Use OPENROWSET with a properly defined schema and file format
D.Increase the DWU setting of the serverless SQL pool
AnswerC

Specifying schema and file format helps the query optimizer generate efficient execution plans.

Why this answer

OPENROWSET with an explicitly defined schema and file format (e.g., FORMAT='PARQUET') enables the serverless SQL pool to bypass schema inference, which is a costly runtime operation. By providing a proper schema and file format, the query engine can directly read the Parquet metadata and column statistics, significantly reducing I/O and CPU overhead. This is the most direct and effective performance tuning change for querying Parquet files in a serverless SQL pool.

Exam trap

The trap here is that candidates confuse serverless SQL pool with dedicated SQL pool and assume that increasing DWU (a dedicated pool concept) will improve performance, or they think data partitioning alone is sufficient without addressing the schema inference overhead.

How to eliminate wrong answers

Option A is wrong because partitioning data in Azure Data Lake Storage Gen2 helps with file pruning and parallel reads, but it does not address the primary bottleneck of schema inference and metadata parsing that slows down serverless SQL pool queries. Option B is wrong because creating a preprocessing pipeline adds latency and complexity without fixing the root cause; it may even degrade performance if the pipeline introduces additional data movement or transformation overhead. Option D is wrong because serverless SQL pools do not have a DWU setting; DWU is a dedicated SQL pool (formerly SQL DW) concept, and serverless SQL pools scale automatically based on workload, so increasing a non-existent setting has no effect.

158
MCQeasy

Refer to the exhibit. You are reviewing an ARM template snippet for an Azure Synapse Analytics workspace. The template defines an integration runtime. A colleague asks whether this integration runtime can be used to copy data from an on-premises SQL Server database to Azure Blob Storage. What should you answer?

A.No, you need an Azure integration runtime that is configured for on-premises access.
B.Yes, because the integration runtime is self-hosted and can access on-premises data sources.
C.No, you need a managed virtual network integration runtime for on-premises sources.
D.Yes, but only if the integration runtime is installed on a domain-joined machine.
AnswerB

Self-hosted IR is used for on-premises/private network data sources.

Why this answer

The ARM template snippet defines a self-hosted integration runtime, which is designed to be installed on a local machine inside the corporate network. This allows it to directly connect to on-premises SQL Server databases using native drivers (e.g., ADO.NET) and then copy data to Azure Blob Storage via the Azure cloud. Self-hosted IRs are the correct choice for hybrid data movement scenarios where the source is on-premises and the destination is cloud-based.

Exam trap

The trap here is that candidates often confuse the self-hosted IR with the Azure IR, assuming any IR can access on-premises data, but only the self-hosted IR (installed locally) can bridge the on-premises-to-cloud gap.

How to eliminate wrong answers

Option A is wrong because an Azure integration runtime (managed in the cloud) cannot directly access on-premises networks without a gateway or a self-hosted IR; the correct approach for on-premises sources is a self-hosted IR, not an Azure IR. Option C is wrong because a managed virtual network integration runtime is used for accessing Azure data sources within a managed VNet, not for on-premises sources that require a local installation. Option D is wrong because domain-joined machines are not a requirement for self-hosted IRs; they can be installed on any Windows machine with internet connectivity, though domain join may be used for security policies but is not mandatory.

159
Multi-Selecthard

Which THREE actions improve the performance of a Delta table in Azure Databricks? (Choose three.)

Select 3 answers
A.Run VACUUM to remove old versions and compact small files
B.Disable auto-optimize to reduce overhead
C.Run OPTIMIZE with ZORDER BY on frequently filtered columns
D.Increase the number of shuffle partitions
E.Partition the table by high-cardinality columns
AnswersA, C, E

Compaction reduces file count.

Why this answer

Running VACUUM on a Delta table removes old file versions that are no longer referenced by the Delta transaction log, freeing up storage and reducing the number of small files that must be read during queries. This compaction of small files improves I/O efficiency and query performance, especially in tables with frequent updates or deletes.

Exam trap

The trap here is that candidates often confuse 'increasing shuffle partitions' (a Spark tuning parameter) with a direct performance improvement for Delta tables, when in fact it can worsen performance and is not a recommended action for Delta-specific optimization.

160
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.

161
MCQmedium

You are troubleshooting a slow-running Azure Data Factory pipeline that copies data from an Azure SQL Database to ADLS Gen2. The pipeline uses a copy activity with the default settings. The source table has 10 million rows. Which optimization should you apply first?

A.Set the 'parallel copies' property to 10.
B.Replace the copy activity with a mapping data flow.
C.Increase the data integration unit (DIU) to maximum.
D.Enable staged copy using an Azure Blob Storage staging location.
AnswerD

Staging allows data to be transferred via Blob Storage, which improves throughput for SQL to ADLS copies.

Why this answer

Enabling staged copy via Azure Blob Storage improves performance for large datasets by allowing the copy activity to use blob storage as an intermediate staging location, reducing load on source and destination. Option A (parallel copies) may help but default auto parallelism already handles it. Option B (mapping data flow) is heavier and not needed for simple copy.

Option C (increase DIU) is a more expensive option and should not be the first optimization.

162
MCQmedium

You are developing a real-time data processing solution using Azure Stream Analytics. The input is from an Azure Event Hub, and the output is to an Azure Synapse Analytics dedicated SQL pool. You need to ensure exactly-once delivery semantics to the SQL pool. What should you configure?

A.Enable checkpointing in the query.
B.Use the Azure Synapse Analytics output adapter with exactly-once semantics.
C.Use a custom deserializer.
D.Configure event ordering by timestamp.
AnswerB

Stream Analytics supports exactly-once output to Synapse when configured correctly.

Why this answer

The Azure Synapse Analytics output adapter for Stream Analytics supports exactly-once delivery semantics to a dedicated SQL pool. This is achieved through built-in mechanisms that ensure each event is written exactly once, even in failure scenarios. Option A is incorrect because checkpointing is used for job recovery and state management, not for guaranteeing exactly-once output delivery.

Option C is incorrect because custom deserializers handle data format conversion, not delivery guarantees. Option D is incorrect because event ordering by timestamp helps with time-based processing but does not provide delivery semantics like exactly-once.

163
Multi-Selecthard

Which THREE Azure services can you use together to build a serverless, event-driven data processing pipeline that ingests data from Azure Blob Storage, transforms it using custom code, and loads it into Azure Cosmos DB?

Select 3 answers
A.Azure Functions
B.Azure Cosmos DB output binding (with Azure Functions)
C.Azure Batch
D.Azure Event Grid
E.Azure Logic Apps
AnswersA, B, D

Functions can be triggered by Blob events and run custom code.

Why this answer

Options A, B, and D are correct. Azure Functions can be triggered by Blob Storage events to run custom code, and the output can be written to Cosmos DB via the Cosmos DB output binding (option B). Azure Event Grid (option D) enables event-driven triggers for the pipeline.

Option C (Azure Batch) is wrong because it is designed for large-scale parallel computing, not event-driven triggers. Option E (Azure Logic Apps) is wrong because it is more for workflow orchestration with connectors, not custom code execution.

164
MCQhard

You are designing a batch processing solution in Azure Databricks that reads Parquet files from Azure Data Lake Storage Gen2, performs aggregations, and writes results to a Delta table. The data volume is expected to grow to 10 TB per batch. You need to minimize shuffle operations during the aggregation step. Which approach should you recommend?

A.Partition the Delta table by the aggregation key and use the same partitioning when reading.
B.Use bucketing on a different column to reduce partition skew.
C.Use a broadcast join to avoid shuffle on the aggregation.
D.Use coalesce to reduce the number of partitions before aggregation.
AnswerA

Partitioning on the aggregation key ensures data is already grouped, minimizing shuffle.

Why this answer

Partitioning the Delta table by the aggregation key and aligning the read partitioning ensures that data with the same key value is co-located in the same Spark partition. This allows the aggregation to be performed within each partition without needing to shuffle data across the network, which is the primary cause of performance bottlenecks in large-scale batch processing.

Exam trap

The trap here is that candidates confuse partitioning (which co-locates data by key) with bucketing or coalesce, thinking any partition reduction will minimize shuffle, but only alignment of read and aggregation keys avoids the shuffle entirely.

How to eliminate wrong answers

Option B is wrong because bucketing on a different column does not reduce shuffle for the aggregation key; it only helps with join or lookup operations on the bucketed column. Option C is wrong because broadcast join is used to avoid shuffle during joins, not during aggregations; it cannot eliminate the shuffle required for grouping by a key. Option D is wrong because coalesce reduces the number of partitions but does not prevent shuffle; it may even increase shuffle overhead if applied before aggregation.

165
MCQhard

You are troubleshooting a data processing job in Azure Synapse Pipelines that fails intermittently with the error: 'Operation on target Sink failed: The request was aborted: Could not create SSL/TLS secure channel.' The pipeline reads from Azure Blob Storage and writes to an Azure SQL Database. The source and sink are in the same region. What is the most likely cause?

A.Azure SQL Database firewall rules blocking the IP address of the integration runtime.
B.Transient network connectivity issues between the services.
C.The Azure SQL Database DTU limit has been exceeded, causing throttling.
D.The self-hosted integration runtime is using TLS 1.0, which is not supported by the services.
AnswerD

SSL/TLS handshake failure often stems from TLS version mismatch.

Why this answer

The error 'Could not create SSL/TLS secure channel' indicates a TLS version mismatch. Azure SQL Database and Azure Blob Storage require at least TLS 1.2 for secure connections. If the self-hosted integration runtime (SHIR) is configured to use TLS 1.0, the handshake fails because the services reject the older protocol.

This is the most likely cause given the intermittent nature and the specific error message.

Exam trap

The trap here is that candidates confuse SSL/TLS errors with network connectivity or throttling issues, overlooking the specific protocol version mismatch that Azure services now enforce.

How to eliminate wrong answers

Option A is wrong because firewall rules blocking the SHIR IP would produce a different error (e.g., 'Cannot open server '...' requested by the login') and would be consistent, not intermittent. Option B is wrong because transient network issues typically result in timeouts or retryable errors, not a specific SSL/TLS channel creation failure. Option C is wrong because DTU throttling would cause performance degradation or 'Request limit exceeded' errors, not an SSL/TLS handshake failure.

166
MCQeasy

You are building a data transformation in Azure Databricks using PySpark. The data includes a column 'timestamp' in string format 'yyyy-MM-dd HH:mm:ss'. You need to convert this to a timestamp type and extract the date part for partitioning. Which code snippet should you use?

A.df.withColumn('date', col('timestamp').cast('date'))
B.df.withColumn('date', to_timestamp('timestamp', 'yyyy-MM-dd HH:mm:ss'))
C.df.withColumn('date', to_date('timestamp', 'yyyy-MM-dd HH:mm:ss'))
D.df.withColumn('date', to_date('timestamp'))
AnswerC

Correctly converts string to date with format.

Why this answer

`to_date` with the format string 'yyyy-MM-dd HH:mm:ss' converts the string column to a date type, extracting only the date part (year, month, day) as required for partitioning. This matches the requirement to convert the timestamp string to a date for partitioning, not a full timestamp.

Exam trap

The trap here is that candidates often confuse `to_date` and `to_timestamp`, assuming both extract only the date, or they forget that `cast('date')` does not accept a custom format string, leading to runtime errors or null values.

How to eliminate wrong answers

Option A is wrong because `cast('date')` on a string column will fail or produce null if the string is not in a default date format (e.g., 'yyyy-MM-dd'), and it does not accept a custom format pattern. Option B is wrong because `to_timestamp` converts the string to a full timestamp type (including time), not just the date part, which is not suitable for partitioning by date. Option D is wrong because `to_date('timestamp')` without a format string relies on the default date format (typically 'yyyy-MM-dd'), which will fail or produce incorrect results for strings with time components like 'yyyy-MM-dd HH:mm:ss'.

167
MCQmedium

You are designing a data pipeline in Azure Synapse Analytics that ingests streaming taxi trip data from Azure Event Hubs. The data must be processed in near real-time and stored in a dedicated SQL pool. The pipeline should handle late-arriving data (up to 30 minutes late) without reprocessing the entire stream. Which Azure service should you use to process the streaming data?

A.Azure Databricks Structured Streaming
B.Azure Stream Analytics
C.Azure Data Factory
D.Azure Functions with Event Hubs trigger
AnswerB

Azure Stream Analytics provides built-in support for late-arriving events and can output directly to Synapse SQL pool.

Why this answer

Azure Stream Analytics is the correct choice because it is designed for real-time stream processing with native support for Event Hubs as an input and dedicated SQL pool as an output. It can handle late-arriving data via its built-in 'late arrival' window (configurable up to 30 minutes) using event time processing, without requiring reprocessing of the entire stream.

Exam trap

The trap here is that candidates often confuse Azure Data Factory's 'real-time' monitoring or Azure Functions' 'event-driven' nature with true stream processing, overlooking the need for built-in windowing and late-arrival handling that only Azure Stream Analytics provides.

How to eliminate wrong answers

Option A is wrong because Azure Databricks Structured Streaming is a batch-micro-batch engine that, while capable of streaming, requires manual management of late-arriving data via watermarking and checkpointing, and does not natively integrate with dedicated SQL pool as a sink without additional complexity. Option C is wrong because Azure Data Factory is an orchestration and ETL service for batch data movement, not a real-time stream processing engine; it cannot process streaming data from Event Hubs in near real-time. Option D is wrong because Azure Functions with Event Hubs trigger processes events one at a time in a serverless compute model, which lacks the built-in windowing, aggregation, and late-arrival handling capabilities needed for near real-time stream processing at scale.

168
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.

169
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 incrementally processes new files.

Why this answer

Azure Databricks Auto Loader is designed to incrementally ingest new data files as they arrive in cloud storage (e.g., Azure Data Lake Storage Gen2 or Blob Storage) by using a notification-based or directory-listing approach. It automatically tracks which files have already been processed using a structured streaming checkpoint mechanism, eliminating the need for manual checkpoint management even at high data volumes. This makes options A and B correct because Auto Loader's core value is its ability to discover and process new files without manual intervention and to handle large-scale ingestion reliably.

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.

170
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.

171
Multi-Selecthard

You are building a data processing pipeline in Azure Synapse Analytics that uses a mapping data flow to perform a lookup transformation. The lookup source is a dimension table with 10 million rows. You need to optimize the lookup performance. Which THREE actions should you take?

Select 3 answers
A.Increase the batch size in the lookup transformation settings.
B.Partition the dimension table on the lookup key before reading.
C.Enable the 'Broadcast' option on the lookup source transformation if the dimension table is less than 100 MB.
D.Select only the necessary columns in the lookup source transformation.
E.Ensure the dimension table has an index on the columns used for the lookup.
AnswersC, D, E

Broadcasting avoids shuffle for small dimension tables.

Why this answer

To optimize lookup performance in a mapping data flow, the recommended actions are: C. Enable the 'Broadcast' option on the lookup source if the dimension table is less than 100 MB. This avoids shuffling the large fact table across nodes.

D. Select only the necessary columns in the lookup source transformation to reduce data transfer and memory usage. E.

Ensure the dimension table has an index on the columns used for the lookup to speed up the join operation. Options A and B are not optimal: Increasing batch size (A) does not improve lookup performance; it affects sink writes. Partitioning the dimension table on the lookup key before reading (B) can be helpful, but in a data flow, partitioning is typically applied to the source or within the data flow itself, and it is not one of the top three recommended actions for lookup optimization in Synapse mapping data flows.

172
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.

173
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

Provides real-time stream processing with windowed aggregations.

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.

174
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

Intermittent failures often due to resource pressure.

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.

175
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

Derived Column allows expression-based column creation and modification.

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.

176
MCQhard

You are implementing a streaming solution using Azure Stream Analytics. The input is from an IoT Hub receiving telemetry from thousands of devices. The output is to Azure Synapse Analytics dedicated SQL pool. The requirement is to compute rolling averages over a 5-minute tumbling window and write results every minute. Which windowing function and output configuration should you use?

A.Use a TumblingWindow with duration of 5 minutes and output every 5 minutes.
B.Use a SlidingWindow with duration 5 minutes and output every 1 minute.
C.Use a HoppingWindow with size 5 minutes and hop 1 minute.
D.Use a SessionWindow with timeout 5 minutes and maximum duration 10 minutes.
AnswerC

Hopping windows with a 1-minute hop produce results every minute, each covering the last 5 minutes.

Why this answer

A HoppingWindow with a size of 5 minutes and a hop of 1 minute allows you to compute rolling averages over a 5-minute window while producing results every minute. This satisfies the requirement of outputting results at a higher frequency than the window duration, which is not possible with a TumblingWindow (which only outputs at the end of the window) or a SlidingWindow (which outputs on each event, not at fixed intervals).

Exam trap

The trap here is that candidates confuse the output frequency with the window duration, assuming a TumblingWindow can produce results more frequently by adjusting the duration, but only a HoppingWindow with a hop smaller than the size can achieve that.

How to eliminate wrong answers

Option A is wrong because a TumblingWindow with a duration of 5 minutes only produces output at the end of each 5-minute window, not every minute. Option B is wrong because a SlidingWindow with a duration of 5 minutes outputs results for every event (or at the end of each sliding interval), not at a fixed 1-minute interval; it also does not align with the requirement to output every minute on a schedule. Option D is wrong because a SessionWindow is designed for event-based sessions with gaps and timeouts, not for fixed-duration rolling averages with periodic output.

177
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 can run Python code in Synapse Spark notebooks.

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.

178
MCQeasy

Your team is developing a real-time data processing solution using Azure Stream Analytics. The input is from Azure Event Hubs. The output must be written to Azure SQL Database. You need to ensure that the processing guarantees exactly-once semantics for the output. Which output configuration should you use?

A.Set output mode to 'When possible'
B.Set output mode to 'Exactly once'
C.Set output mode to 'At least once'
D.Set output mode to 'Best effort'
AnswerB

Ensures no duplicate writes to SQL Database.

Why this answer

Azure Stream Analytics supports exactly-once semantics for output to Azure SQL Database when the output mode is set to 'Exactly once'. This ensures that each event is processed and written exactly once, preventing duplicates even in the event of failures or retries. The 'Exactly once' mode uses internal checkpointing and transactional writes to guarantee this behavior.

Exam trap

The trap here is that candidates may confuse 'Exactly once' with 'At least once', assuming that 'At least once' is sufficient for guaranteed delivery, but they overlook that 'At least once' can produce duplicates, which violates exactly-once requirements.

How to eliminate wrong answers

Option A is wrong because 'When possible' is not a valid output mode in Azure Stream Analytics; the correct modes are 'Exactly once' and 'At least once'. Option C is wrong because 'At least once' guarantees that events are delivered at least once, which can result in duplicate records in the output if failures occur. Option D is wrong because 'Best effort' is not a supported output mode in Azure Stream Analytics; it implies no delivery guarantee, which is not applicable to this service.

179
Multi-Selectmedium

You are designing a data processing solution that must handle personally identifiable information (PII). The data will be ingested from multiple sources into Azure Data Lake Storage. Which TWO actions should you take to protect the PII data during processing?

Select 2 answers
A.Apply data masking in Power BI reports to hide PII from end users.
B.Use column-level security in Azure Synapse Analytics to restrict access to sensitive columns.
C.Configure the Azure Data Lake Storage firewall to allow only specific IP addresses.
D.Implement SQL Server Always Encrypted for all data stored in the data lake.
E.Use Azure Purview to classify and label PII data in the data lake.
AnswersB, E

Column-level security allows fine-grained access control at the database level.

Why this answer

Column-level security in Azure Synapse Analytics allows you to restrict access to specific columns containing PII, such as Social Security numbers or email addresses, without altering the underlying data. This is a native feature of Synapse that can be applied during processing to ensure that only authorized users or roles can view sensitive columns, directly addressing the requirement to protect PII during data processing.

Exam trap

The trap here is that candidates often confuse data masking (which only hides data at the presentation layer) with column-level security (which restricts access at the database processing layer), leading them to select Option A instead of Option B.

180
Multi-Selectmedium

Which TWO actions should you take to optimize performance of a dedicated SQL pool in Azure Synapse Analytics when loading large volumes of data?

Select 2 answers
A.Disable index on the target table after loading.
B.Use a large batch size (e.g., 100 MB) for each copy operation.
C.Use round-robin distribution for the staging table.
D.Use a small batch size (e.g., 1 MB) for each copy operation.
E.Use clustered columnstore index on the target table during load.
AnswersB, C

Large batches reduce number of transactions.

Why this answer

Using a large batch size (e.g., 100 MB) for each copy operation minimizes the number of round trips and transaction commits, which significantly improves throughput when loading large volumes of data into a dedicated SQL pool. The PolyBase or COPY statement in Azure Synapse performs best when batches are large enough to leverage parallel processing and reduce overhead from frequent small writes.

Exam trap

The trap here is that candidates often confuse batch size optimization with transaction log management, mistakenly thinking smaller batches reduce log pressure, when in fact larger batches reduce overall load time and improve throughput in Azure Synapse's distributed architecture.

181
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

Increasing executor memory provides more heap space to avoid OOM errors.

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.

182
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

Broadcast join avoids shuffling and is efficient for streaming-static joins.

Why this answer

When joining a streaming DataFrame with a static reference table, Spark Structured Streaming can optimize the join by broadcasting the static DataFrame to all nodes, avoiding shuffles. This is efficient since the reference data is small and static. Option A is wrong because watermarks are used for stream-stream joins, not streaming-static joins.

Option C is wrong because foreachBatch with a batch join adds unnecessary complexity and does not leverage built-in optimizations. Option D is wrong because converting a static table to a stream is not appropriate; the reference table is static and should be read as a batch DataFrame.

183
MCQmedium

You are building a data processing solution in Azure Synapse Analytics. The solution requires creating a table that stores sales transactions. The table will be used for both point-of-sale lookups and large aggregation queries. The data is not updated frequently. Which table distribution should you recommend?

A.ROUND_ROBIN
B.HASH on TransactionID
C.HASH on SalesDate
D.REPLICATE
AnswerA

ROUND_ROBIN evenly distributes data and works well for mixed workloads.

Why this answer

ROUND_ROBIN is the correct choice because the table is used for both point-of-sale lookups (single-row queries) and large aggregation queries, and the data is not updated frequently. ROUND_ROBIN distributes data evenly across all distributions without a hash key, which provides the best overall performance for mixed workloads where no single distribution key optimizes both lookup and aggregation patterns. It avoids data skew and allows parallel processing for aggregations while still supporting efficient lookups when combined with appropriate indexes.

Exam trap

The trap here is that candidates often choose HASH distribution thinking it always improves query performance, but they overlook that without a clear join or grouping column that matches the hash key, HASH can cause data skew and actually degrade mixed workload performance compared to ROUND_ROBIN.

How to eliminate wrong answers

Option B (HASH on TransactionID) is wrong because hashing on a high-cardinality column like TransactionID would distribute data evenly but would not optimize large aggregation queries that typically group by date or region, and it would not improve point-of-sale lookups unless the lookup filter includes TransactionID. Option C (HASH on SalesDate) is wrong because hashing on a date column can cause severe data skew if most transactions occur on a few dates, leading to uneven distribution and poor query performance; it also does not optimize point-of-sale lookups that rarely filter by date alone. Option D (REPLICATE) is wrong because replication is designed for small dimension tables (typically < 2 GB) and would be impractical for a large sales transaction table, causing excessive storage and maintenance overhead.

184
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

The managed identity needs RBAC permissions on the storage account.

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.

185
MCQeasy

You are using Azure Data Factory to copy data from Azure Blob Storage to Azure SQL Database. The copy operation fails with error 'Cannot insert duplicate key'. What is the most likely cause and solution?

A.The source files are in an incompatible format; convert to CSV
B.The sink table schema does not match the source; update the schema
C.The copy activity is not using staging; enable staging
D.The sink table has a primary key, and the source contains duplicate rows; enable upsert in the copy activity
AnswerD

Upsert behavior can handle duplicate key violations.

Why this answer

The error 'Cannot insert duplicate key' indicates that the sink table in Azure SQL Database has a primary key or unique constraint, and the source data contains rows with duplicate key values. Enabling upsert in the copy activity allows Azure Data Factory to handle duplicates by updating existing rows instead of failing, resolving the conflict.

Exam trap

The trap here is that candidates often confuse duplicate key errors with schema or format issues, or think staging is required for deduplication, but the correct solution is to use upsert to handle primary key conflicts.

How to eliminate wrong answers

Option A is wrong because an incompatible format would cause parsing or schema errors, not a duplicate key violation. Option B is wrong because a schema mismatch would result in column mapping or type conversion errors, not a duplicate key issue. Option C is wrong because staging is used for performance optimization or PolyBase/COPY statement scenarios, not for handling duplicate key conflicts.

186
MCQhard

You are troubleshooting a pipeline in Azure Data Factory that copies data from an Azure Blob Storage to an Azure Synapse Analytics dedicated SQL pool. The pipeline fails with the error: 'PolyBase requires a varchar(max) column to be less than 1 MB.' Which action should you take to resolve this issue?

A.Modify the source data to truncate varchar(max) columns to 8000 characters.
B.Configure the copy activity to use staging via Azure Blob Storage.
C.Increase the 'batchSize' property in the copy activity to 10000.
D.Disable PolyBase in the sink settings and use bulk insert instead.
AnswerB

Using staging allows PolyBase to handle large varchar(max) columns by breaking them into smaller chunks.

Why this answer

The error indicates that PolyBase is being used for the copy operation, and it has a limitation that varchar(max) columns must be less than 1 MB. Configuring staging via Azure Blob Storage (option B) allows the copy activity to use PolyBase with staging, which automatically splits large varchar(max) values into manageable chunks, bypassing the 1 MB limit. This is the recommended approach in Azure Data Factory for loading large string data into Synapse dedicated SQL pools.

Exam trap

The trap here is that candidates often assume the error requires truncating data or switching to bulk insert, but the correct solution leverages PolyBase's staging feature to handle large columns without data loss.

How to eliminate wrong answers

Option A is wrong because truncating varchar(max) columns to 8000 characters is a data loss solution and does not address the PolyBase limitation; PolyBase's 1 MB limit is on the total size of the column value, not character count, and truncation may still exceed 1 MB if the data is multi-byte. Option C is wrong because the 'batchSize' property controls the number of rows per batch for bulk insert operations, not the size of individual columns, and it does not affect PolyBase's varchar(max) size restriction. Option D is wrong because disabling PolyBase and using bulk insert would work but is less performant and not the recommended resolution; the error specifically occurs when PolyBase is enabled, and using staging with PolyBase is the intended fix.

187
Multi-Selectmedium

You are using Azure Stream Analytics to process real-time data from an Event Hub. Which TWO of the following are valid output sinks?

Select 2 answers
A.Azure Synapse Analytics
B.Azure Blob Storage
C.Azure Queue Storage
D.Azure Files
E.Azure Table Storage
AnswersA, B

Supported via a dedicated SQL pool.

Why this answer

Azure Stream Analytics supports Azure Synapse Analytics as a native output sink, allowing you to write real-time streaming results directly into dedicated SQL pools for high-performance analytics. This is achieved via the built-in Azure Synapse Analytics output adapter, which uses PolyBase or COPY INTO for efficient bulk ingestion.

Exam trap

The trap here is that candidates often confuse Azure Table Storage or Queue Storage as valid sinks because they are general Azure storage services, but Stream Analytics has a specific, limited set of supported output sinks documented in official Microsoft documentation.

188
MCQmedium

Refer to the exhibit. You are monitoring the CopyDataPipeline in Azure Data Factory. The copy activity is failing with timeout errors. What is the most likely cause?

A.The writeBatchTimeout is set too low (30 seconds), causing timeouts
B.The enableStaging is false, causing network congestion
C.The writeBatchSize is too large (10000), exceeding SQL limits
D.The recursive property is set to true, causing infinite loops
AnswerA

30 seconds may be insufficient for large batches.

Why this answer

The copy activity in Azure Data Factory is failing with timeout errors because the `writeBatchTimeout` is set to 30 seconds, which is too low for the volume of data being written to the sink. This property defines the maximum time allowed for a single batch write operation to complete; when it expires, the activity times out. Increasing this value (e.g., to 120 seconds or more) accommodates larger or slower writes, resolving the timeout.

Exam trap

The trap here is that candidates often confuse `writeBatchTimeout` with `writeBatchSize`, assuming a large batch size causes timeouts, but the timeout is a separate property that controls how long the system waits for a batch to complete, not the size of the batch itself.

How to eliminate wrong answers

Option B is wrong because `enableStaging` being false does not cause network congestion; staging is an optional intermediate storage for large data transfers or to enable PolyBase, and its absence does not inherently lead to timeouts. Option C is wrong because `writeBatchSize` of 10000 rows is within typical SQL Database limits (default batch size is 10,000 rows for bulk insert), and exceeding limits would cause row-level errors, not timeout errors. Option D is wrong because `recursive` property controls whether subdirectories are processed in file-based sources (e.g., Blob storage) and has no effect on timeout behavior in a copy activity; it cannot cause infinite loops.

189
MCQeasy

You are designing a streaming job in Azure Stream Analytics. The job needs to count the number of events per device type every 10 seconds. The input is from Event Hubs. Which query should you use?

A.SELECT DeviceType, COUNT(*) FROM Input GROUP BY DeviceType, SessionWindow(second, 10, 30)
B.SELECT DeviceType, COUNT(*) FROM Input GROUP BY DeviceType, TumblingWindow(second, 10)
C.SELECT DeviceType, COUNT(*) FROM Input GROUP BY DeviceType, HoppingWindow(second, 10, 1)
D.SELECT DeviceType, COUNT(*) FROM Input GROUP BY DeviceType, SlidingWindow(second, 10)
AnswerB

Tumbling window outputs exactly every 10 seconds.

Why this answer

A TumblingWindow(second, 10) produces non-overlapping, fixed-size 10-second windows, which is exactly what is needed to count events per device type every 10 seconds. The GROUP BY clause groups by DeviceType and the window, ensuring each device type gets its own count per window. This query meets the requirement without overlapping or sliding behavior.

Exam trap

The trap here is that candidates confuse HoppingWindow with TumblingWindow, thinking a hop size of 1 second still produces 10-second intervals, but HoppingWindow emits results at every hop, not at the window duration, leading to incorrect output frequency.

How to eliminate wrong answers

Option A is wrong because SessionWindow(second, 10, 30) defines session windows based on inactivity gaps, not fixed 10-second intervals; the 30-second timeout means windows can be much longer than 10 seconds, violating the requirement. Option C is wrong because HoppingWindow(second, 10, 1) creates overlapping windows that emit results every 1 second, not every 10 seconds, leading to redundant counts. Option D is wrong because SlidingWindow(second, 10) produces a continuous stream of results for every event within the last 10 seconds, not discrete 10-second intervals, so it does not count events 'every 10 seconds' as a batch.

190
MCQmedium

You are using Azure Synapse Analytics dedicated SQL pool to run a query that joins a large fact table (10 billion rows) and a small dimension table (1 million rows). The query is slow. Which distribution strategy should you use for the dimension table to improve performance?

A.Round-robin distribute the dimension table.
B.Hash-distribute the dimension table on its primary key.
C.Replicate the dimension table to all compute nodes.
D.Hash-distribute the dimension table on the foreign key column.
AnswerC

Replication avoids data movement for small tables.

Why this answer

Replicating the small dimension table (1 million rows) to all compute nodes eliminates data movement during the join with the large fact table (10 billion rows). In Azure Synapse dedicated SQL pool, replicated tables store a full copy on each distribution, so the join can be performed locally on every node without shuffling data across the network, drastically reducing query latency.

Exam trap

The trap here is that candidates often choose hash distribution on the foreign key (Option D) thinking it aligns the join keys, but they overlook that the fact table is typically distributed on a different column (e.g., its own primary key or a date column), so the join still requires data movement, whereas replication is the optimal strategy for small dimension tables in a star schema.

How to eliminate wrong answers

Option A is wrong because round-robin distribution spreads the dimension table evenly across distributions without any alignment with the fact table, causing all join operations to require data movement (shuffle) across nodes, which is highly inefficient for a large fact table. Option B is wrong because hash-distributing the dimension table on its primary key does not align with the fact table's distribution key (typically the foreign key), so the join will still require redistributing one or both tables unless the fact table is also hash-distributed on the same column. Option D is wrong because hash-distributing the dimension table on the foreign key column would scatter its rows across distributions, but the fact table is likely hash-distributed on a different column (e.g., its own primary key or a different foreign key), so the join would still cause data movement; moreover, dimension tables are typically small and benefit more from replication than from hash distribution.

191
MCQhard

Your company uses Azure Synapse Analytics and has deployed a pipeline that uses a Mapping Data Flow to transform data. The data flow reads from a source in Azure Blob Storage and writes to a dedicated SQL pool. You notice that the data flow is running slowly and consuming a lot of Data Flow cluster resources. You need to improve performance without increasing the cluster size. Which action should you take?

A.Use a self-hosted integration runtime instead of the default auto-resolve IR.
B.Increase the batch size in the data flow settings to reduce the number of round trips.
C.Add a partitioning step in the data flow to distribute the data across partitions based on a key column.
D.Change the source format to Delta Lake to leverage optimizations.
AnswerC

Partitioning the data can improve parallelism and performance.

Why this answer

Adding a partitioning step in the Mapping Data Flow distributes data across partitions based on a key column, which allows parallel processing across the cluster's nodes. This reduces data shuffling and improves throughput without increasing the cluster size, directly addressing the performance bottleneck caused by skewed or unpartitioned data.

Exam trap

The trap here is that candidates often confuse increasing batch size (Option B) with improving parallelism, but batch size only affects sink write operations, not the internal data processing distribution that causes cluster resource exhaustion.

How to eliminate wrong answers

Option A is wrong because using a self-hosted integration runtime (IR) would introduce network latency and management overhead, and it does not address the internal data flow processing inefficiency; the default auto-resolve IR is optimized for Azure services. Option B is wrong because increasing the batch size in data flow settings reduces round trips to the sink but does not resolve the root cause of slow transformation performance, which is data distribution and parallelism within the cluster. Option D is wrong because changing the source format to Delta Lake does not inherently improve performance for a Mapping Data Flow reading from Blob Storage; Delta Lake optimizations (like Z-ordering) require a Delta Lake engine and are not applicable to the current pipeline's source format.

192
MCQhard

You are designing a batch processing pipeline in Azure Databricks. The data is stored in Delta Lake and you need to perform a time-series join between two tables: 'events' (100 billion rows) and 'sessions' (10 billion rows). The join condition is on 'device_id' and a timestamp range (event_time BETWEEN session_start AND session_end). Which join strategy would be most efficient?

A.Broadcast the smaller table (sessions) to all nodes.
B.Use a range join with interval threshold using Delta Lake's optimized join.
C.Use a sort-merge join by repartitioning both tables on device_id.
D.Bucket both tables on device_id with 500 buckets.
AnswerB

Delta Lake supports range join optimization with interval thresholds, reducing data shuffle.

Why this answer

Delta Lake's optimized range join leverages interval threshold pruning and data skipping to efficiently handle time-series joins on large datasets. This strategy avoids full shuffles by using min/max statistics and Bloom filters to eliminate non-matching partitions, making it far more efficient than generic join methods for 100B and 10B row tables.

Exam trap

Microsoft often tests the misconception that broadcasting a large table is acceptable if it fits in memory, but the trap here is that candidates overlook the driver memory limit and assume broadcast join scales linearly, while the correct answer requires understanding Delta Lake's specialized range join optimization for time-series data.

How to eliminate wrong answers

Option A is wrong because broadcasting a 10 billion row 'sessions' table would exceed driver memory and cause out-of-memory errors; broadcast joins are only suitable for small tables (typically < 1 GB). Option C is wrong because a sort-merge join with repartitioning on 'device_id' alone does not optimize the timestamp range condition, leading to a full shuffle of both massive tables and poor performance. Option D is wrong because bucketing on 'device_id' with 500 buckets does not address the range join predicate; it only co-locates rows by hash, but the timestamp range still requires a cross-join-like comparison within each bucket, which is inefficient.

193
MCQhard

You are developing a real-time data processing solution for a financial services company. The system ingests stock trade data from Azure Event Hubs at 50,000 events per second. Each event is a JSON object with fields: TradeID, Symbol, Price, Quantity, Timestamp. You need to calculate a 5-minute rolling average of the trade price per symbol and store the result in Azure Cosmos DB for low-latency queries. Additionally, you need to detect anomalies where the price deviates more than 10% from the rolling average within the same window, and send alerts to Azure Event Grid. You must minimize latency and ensure that the processing is stateful across multiple partitions. What should you do?

A.Use Azure Functions with Event Hubs trigger. In each function invocation, compute the rolling average using a distributed cache (Redis) and detect anomalies. Write to Cosmos DB and Event Grid via output bindings.
B.Use Azure Synapse Pipelines with a Data Flow. Set up a streaming Data Flow from Event Hubs, compute rolling average using window functions, and sink to Cosmos DB and Event Grid.
C.Use Azure Databricks with Structured Streaming. Read from Event Hubs using Kafka API. Perform windowed aggregations and anomaly detection using Spark SQL. Write to Cosmos DB via the Azure Cosmos DB Spark connector and to Event Grid via HTTP sink.
D.Create an Azure Stream Analytics job. Define input from Event Hubs. Use a Tumbling window of 5 minutes to compute average price per symbol. Add a custom function to compare each event's price to the average and output anomalies. Write to Cosmos DB via the Azure Cosmos DB output adapter and to Event Grid via the Event Grid output adapter.
AnswerD

Stream Analytics provides native support for windowing, stateful processing, and multiple outputs.

Why this answer

Azure Stream Analytics (Option D) is the most appropriate service for this scenario. It can ingest from Event Hubs, perform windowed aggregations (e.g., Tumbling window for rolling average), detect anomalies using conditional logic, and output to both Cosmos DB and Event Grid. It handles partitioning automatically and provides stateful processing with low latency.

Option A uses Azure Functions, which are not designed for high-throughput stateful stream processing across partitions; each function invocation is stateless and would require an external cache (Redis) adding latency and complexity. Option B incorrectly describes Azure Synapse Pipelines with Data Flow, which is a batch-oriented ETL tool and not suitable for real-time streaming. Option C uses Azure Databricks Structured Streaming, which is more complex to manage and requires additional configuration for state management and output to multiple sinks, resulting in higher operational overhead compared to Stream Analytics.

194
MCQmedium

A manufacturing company uses Azure Data Lake Storage Gen2 to store IoT sensor data. The data arrives in JSON format with a nested structure. You need to transform the data into a tabular format for downstream analytics using Azure Synapse Pipelines. Which data flow transformation should you use?

A.Aggregate transformation
B.Flatten transformation
C.Window transformation
D.Pivot transformation
AnswerB

The Flatten transformation in mapping data flows unpacks nested arrays into rows.

Why this answer

The Flatten transformation in mapping data flows unpacks nested arrays into rows. Option A is wrong because the Aggregate transformation groups data but does not flatten nested structures. Option C is wrong because the Window transformation calculates aggregated values over a range of rows.

Option D is wrong because the Pivot transformation rotates rows to columns.

195
MCQeasy

You are monitoring an Azure Data Factory pipeline that copies data from Azure Blob Storage to Azure SQL Database. The pipeline fails intermittently with the error: 'Operation on target SQL table failed: String or binary data would be truncated.' Which action should you take to resolve this issue?

A.Increase the length of the destination columns in the SQL table to accommodate the source data.
B.Set 'enable identity insert' to true.
C.Use auto-create table option in the copy activity.
D.Enable staging copy to use PolyBase.
AnswerA

Direct fix for truncation error.

Why this answer

The error indicates that source data length exceeds destination column length. Increasing column size resolves it. Option B is incorrect because the table already exists.

Option C is incorrect because the error is not about connection. Option D is incorrect because the error is not about identity insert.

196
MCQmedium

You are a data engineer at a manufacturing company. You need to process sensor data from IoT devices that arrive in real time. The data is sent to Azure Event Hubs. You need to aggregate the data over 5-minute windows and store the results in Azure Data Lake Storage Gen2 in Parquet format. The solution should minimize cost and use serverless components. Which solution should you use?

A.Use Azure Stream Analytics to create a query with a tumbling window of 5 minutes, and output the results to Azure Data Lake Storage Gen2 in Parquet format.
B.Use Azure Databricks with Structured Streaming to read from Event Hubs, aggregate with a sliding window, and write to ADLS Gen2 in Parquet.
C.Use Azure Data Factory with a tumbling window trigger to run a pipeline every 5 minutes that copies data from Event Hubs to ADLS Gen2.
D.Use Azure Functions with an Event Hubs trigger to aggregate data in memory and write to ADLS Gen2.
AnswerA

Serverless, real-time, and cost-effective.

Why this answer

Azure Stream Analytics is a serverless, cost-effective solution for real-time stream processing with windowed aggregations. It can output directly to ADLS Gen2 in Parquet. Option B is wrong because Azure Databricks with Structured Streaming requires a running cluster, which is not serverless and incurs cost.

Option C is wrong because Azure Data Factory is not designed for real-time streaming. Option D is wrong because Azure Functions would require custom code and may not handle large throughput efficiently.

197
MCQmedium

You are designing a data processing pipeline that ingests data from a REST API endpoint every hour. The API returns JSON data with a varying schema. You need to store the raw data in Azure Data Lake Storage Gen2 and later process it using Azure Databricks. Which file format should you use for the raw data storage?

A.Parquet
B.CSV
C.JSON
D.Avro
AnswerC

Preserves schema flexibility and is easy to store.

Why this answer

C is correct because the raw data arrives from a REST API with a varying JSON schema, and storing it in JSON format preserves the exact structure and schema variability without data loss or transformation. JSON is schema-on-read, meaning the raw data can be ingested as-is into Azure Data Lake Storage Gen2 and later processed by Azure Databricks, which natively supports JSON parsing. This avoids premature schema enforcement that would occur with columnar or binary formats.

Exam trap

The trap here is that candidates often choose Parquet or Avro for their performance benefits, forgetting that raw data ingestion with varying schemas must prioritize schema flexibility over query optimization, which JSON uniquely provides.

How to eliminate wrong answers

Option A is wrong because Parquet is a columnar storage format that requires a fixed schema at write time, making it unsuitable for raw data with a varying schema; any schema mismatch would cause ingestion failures or data truncation. Option B is wrong because CSV is a flat, row-oriented format that cannot natively represent nested or hierarchical JSON structures without complex flattening, and it lacks schema flexibility for varying fields. Option D is wrong because Avro is a binary format with a schema embedded in the file, but it still requires a predefined schema for serialization, which conflicts with the requirement of a varying schema from the API.

198
MCQeasy

Your team is using Azure Data Factory to orchestrate a data pipeline that copies data from an on-premises SQL Server to Azure Blob Storage. The pipeline runs successfully during testing. However, after moving to production, you notice that the pipeline fails intermittently with connectivity errors. You need to ensure reliable data transfer. What should you implement?

A.Use Azure Integration Runtime (IR)
B.Use PolyBase for data transfer
C.Configure Azure VPN Gateway
D.Use Self-Hosted Integration Runtime
AnswerD

Self-hosted IR acts as a gateway connecting ADF to on-premises resources.

Why this answer

A Self-Hosted Integration Runtime provides a dedicated gateway for on-premises connectivity, enabling Azure Data Factory to access on-premises data sources reliably. Option A is wrong because Azure Integration Runtime cannot connect to on-premises networks. Option B is wrong because PolyBase is used for loading data into Azure Synapse Analytics, not for resolving connectivity issues.

Option C is wrong because Azure VPN Gateway is a general VPN solution and does not directly address Data Factory connectivity to on-premises sources.

199
MCQmedium

Your company uses Azure Data Lake Storage Gen2 as a data lake. You need to process CSV files that arrive in a 'raw' container, transform them into Parquet format, and write them to a 'curated' container. The transformation includes filtering out rows with null values in the 'customer_id' column and adding a partition column 'year' based on the 'order_date'. You use Azure Synapse Pipelines. Which activity should you use for the transformation?

A.Stored procedure activity
B.Notebook activity with PySpark
C.Copy data activity
D.Data flow activity
AnswerD

Data flows provide visual transformation with built-in mapping.

Why this answer

The Data Flow activity in Azure Synapse Pipelines is designed for code-free, visual data transformations at scale. It can directly read CSV files from the 'raw' container, filter out rows with null 'customer_id' values using a conditional split or filter transformation, derive a 'year' column from 'order_date' using a derived column transformation, and write the results as Parquet files to the 'curated' container—all without writing code. This makes it the optimal choice for this ETL scenario.

Exam trap

The trap here is that candidates often confuse the Copy data activity's basic mapping capabilities with the full transformation logic needed for filtering and deriving new columns, leading them to choose Option C instead of recognizing that Data Flow is required for row-level and column-level transformations.

How to eliminate wrong answers

Option A is wrong because a Stored Procedure activity is used to execute SQL commands against a database (e.g., Azure SQL Database or Synapse SQL pool), not to perform file-based transformations on Data Lake Storage Gen2. Option B is wrong because a Notebook activity with PySpark can perform the transformation, but it requires writing and maintaining Spark code, which is overkill for a simple filter-and-partition operation that can be done visually with Data Flow; the question implies a preference for pipeline-native activities. Option C is wrong because the Copy data activity only copies data from source to sink with optional schema mapping and basic column mappings, but it cannot perform row-level filtering (e.g., removing nulls) or derive new columns like 'year' from 'order_date'—it lacks transformation logic.

200
Multi-Selectmedium

You are designing a data processing solution in Azure Synapse Analytics. The solution must use a serverless SQL pool to query data in Azure Data Lake Storage Gen2. The data is stored as Parquet files partitioned by date. Which TWO of the following statements are true regarding querying this data? (Select TWO.)

Select 2 answers
A.You can use the filepath() function in the query to retrieve the partition column values.
B.Partition elimination is automatically applied when filtering on the partition column in the WHERE clause.
C.You must create an external table to query Parquet files; OPENROWSET is not supported.
D.You can create indexes on the serverless SQL pool to improve query performance.
E.You can only query a single file at a time; wildcards are not supported.
AnswersA, B

The filepath function returns the partition path values.

Why this answer

The `filepath()` function in a serverless SQL pool query returns the file path of the row being read. When data is partitioned by date in Azure Data Lake Storage Gen2, the partition column values are embedded in the folder structure (e.g., `/year=2023/month=01/day=15/`). Using `filepath(1)`, `filepath(2)`, etc., you can extract these values directly in the query without needing to parse the path manually.

Exam trap

The trap here is that candidates often assume serverless SQL pools behave like dedicated SQL pools, leading them to think indexes are needed or that external tables are mandatory, when in fact serverless pools are schema-on-read and rely on file metadata and statistics for performance.

201
MCQmedium

You are reviewing a Spark job definition in Azure Synapse Analytics. The job aggregates sales data. The job runs successfully but takes longer than expected. You notice that dynamic allocation is disabled and the executor instances are fixed at 10. The cluster has a maximum of 20 nodes. What is the most likely reason for the slow performance?

A.The file path is incorrect, causing data read errors.
B.The job cannot scale out beyond 10 executors because dynamic allocation is disabled.
C.The job is not parallelized because of a single partition.
D.The executor memory is too low for the aggregation.
AnswerB

With dynamic allocation off, the job is limited to 10 executors.

Why this answer

With dynamic allocation disabled and executor instances fixed at 10, the Spark job cannot utilize additional cluster resources even though the cluster supports up to 20 nodes. This means the job is artificially constrained to 10 executors, limiting parallelism and causing slower performance despite available compute capacity.

Exam trap

The trap here is that candidates may overlook the explicit configuration detail (dynamic allocation disabled, fixed 10 executors) and instead focus on generic performance issues like memory or partitioning, missing the direct scaling limitation.

How to eliminate wrong answers

Option A is wrong because an incorrect file path would cause job failures or data read errors, not simply slower performance; the job runs successfully. Option B is wrong because it is actually the correct answer. Option C is wrong because a single partition would cause extreme underutilization and likely very slow processing, but the question states the job aggregates sales data and runs successfully, implying some parallelism exists; the fixed executor count is the more direct bottleneck.

Option D is wrong because while low executor memory can cause spilling to disk and slowdowns, the question specifically highlights disabled dynamic allocation and fixed executors as the observed configuration, making insufficient scaling the primary issue.

202
MCQmedium

You are monitoring an Azure Data Factory pipeline that runs every hour. The pipeline uses a Copy activity to copy data from Azure SQL Database to Azure Blob Storage. Recently, the pipeline has been failing with a 'Timeout' error. The source SQL database has a large number of records. What should you do to resolve the timeout?

A.Enable staging and use PolyBase or COPY statement for the copy activity.
B.Decrease the 'writeBatchSize' to 1000.
C.Increase the 'timeout' value in the copy activity settings.
D.Use a query with 'queryTimeout' set to 7200 seconds.
AnswerA

Staging with PolyBase/COPY allows data to be copied in parallel and avoids timeouts.

Why this answer

Enabling staging with PolyBase or the COPY statement offloads the data transfer to Azure Data Lake or Blob Storage, bypassing the bottleneck of the Copy activity's default data movement. This approach is specifically designed for large-scale data loads from Azure SQL Database, as it uses the database's bulk export capabilities and avoids the timeout by not relying on the Copy activity's internal query execution.

Exam trap

The trap here is that candidates often assume increasing timeouts (options C or D) will fix the issue, but the real problem is the Copy activity's default command timeout limitation, which requires a fundamentally different data movement approach like staging with PolyBase or COPY statement.

How to eliminate wrong answers

Option B is wrong because decreasing 'writeBatchSize' to 1000 reduces the number of rows written per batch to the sink, which does not address the source-side timeout; the timeout occurs during the data read from Azure SQL Database, not during the write to Blob Storage. Option C is wrong because increasing the 'timeout' value in the copy activity settings only extends the overall activity duration but does not resolve the underlying issue of the source query exceeding the default command timeout (typically 30 seconds) when reading a large number of records. Option D is wrong because setting 'queryTimeout' to 7200 seconds in a query only applies to the query execution on the source database, but the Copy activity's default command timeout for the source dataset is separate and still limited; moreover, the real solution is to use a bulk export mechanism like PolyBase or COPY statement, not just extending the query timeout.

203
MCQhard

Refer to the exhibit. You are running the KQL query in Azure Data Explorer. The query returns no results, but you know there is data in the table T. What is the most likely issue?

A.The bin function is used incorrectly; should be bin(Timestamp, 1h) but placed in the wrong clause
B.The between operator syntax is incorrect; should be 'between (startTime..endTime)' without spaces around the dots
C.The datetime format is incorrect; use ISO 8601
D.The table T does not exist in the database
AnswerB

Spaces around the '..' can cause the range to be misparsed.

Why this answer

The KQL `between` operator requires the range syntax `between(datetime1..datetime2)` with no spaces around the two dots. The query uses `between (startTime .. endTime)` with spaces, which is invalid syntax and causes the query to return no results even though data exists in table T.

Exam trap

Microsoft often tests the exact syntax of KQL operators like `between`, where candidates overlook the requirement for no spaces around the two dots, assuming whitespace is allowed as in other languages.

How to eliminate wrong answers

Option A is wrong because the `bin` function is used correctly in the `where` clause to round timestamps; the issue is not about `bin` placement. Option C is wrong because the datetime format in the query uses a valid format (e.g., '2023-01-01 00:00:00') and KQL accepts various datetime formats, including the one shown. Option D is wrong because the question explicitly states that table T exists and contains data, so the table not existing is not the issue.

204
Multi-Selectmedium

Which TWO options are correct approaches to handle schema drift in Azure Data Factory Mapping Data Flows?

Select 2 answers
A.Use a conditional split to route rows with different schemas to separate sinks.
B.Define a rigid schema in the source dataset and reject rows that don't match.
C.Disable schema drift to improve performance.
D.Enable 'Allow schema drift' in the source transformation.
E.Use a derived column transformation to provide default values for missing columns.
AnswersD, E

This allows the data flow to handle changing columns.

Why this answer

Enabling 'Allow schema drift' in the source transformation is the primary mechanism in Mapping Data Flows to handle incoming columns that are not defined in the dataset schema. This setting allows the data flow to dynamically adapt to changes in the source data structure, such as new or missing columns, without requiring manual schema updates.

Exam trap

The trap here is that candidates often confuse handling schema drift with data routing or error handling, and they overlook that enabling schema drift is the foundational step that must be taken before any other transformations can work with the drifted columns.

205
MCQmedium

You have an Azure Data Factory pipeline that executes a stored procedure in Azure SQL Database. The pipeline fails with an error indicating that the stored procedure ran out of memory. What change should you make to the pipeline to resolve this?

A.Add a retry policy to the stored procedure activity.
B.Increase the pipeline activity timeout.
C.Use a Self-Hosted Integration Runtime instead of Azure IR.
D.Scale up the Azure SQL Database to a higher service tier.
AnswerD

Higher service tiers provide more memory for the database.

Why this answer

The error indicates that the stored procedure ran out of memory, which is a resource limitation at the database level, not a transient failure or timeout issue. Scaling up the Azure SQL Database to a higher service tier (e.g., from Standard to Premium or increasing DTU/vCore count) provides more memory and compute resources, directly resolving the out-of-memory condition.

Exam trap

The trap here is that candidates confuse pipeline-level retries or timeouts with database-level resource constraints, assuming that retrying or waiting longer will fix a memory exhaustion error, which is a hard resource limit that requires scaling the database.

How to eliminate wrong answers

Option A is wrong because a retry policy only re-executes the activity on transient failures (e.g., network blips), but an out-of-memory error is a persistent resource constraint that will recur on retry. Option B is wrong because increasing the pipeline activity timeout extends the duration the pipeline waits for completion, but does not address the underlying memory shortage in the database. Option C is wrong because using a Self-Hosted Integration Runtime shifts data movement or activity execution to an on-premises or VM-based runtime, but does not affect the memory allocation of the Azure SQL Database where the stored procedure runs.

206
MCQhard

You are optimizing an Azure Synapse serverless SQL pool query that queries Parquet files in Azure Data Lake Storage. The query takes longer than expected. You notice that the query reads more data than necessary. What is the most effective way to reduce the amount of data scanned?

A.Split large Parquet files into smaller files of 100 MB each
B.Create external tables with explicit schema and partition by a frequently filtered column
C.Use SELECT with column pruning to only retrieve necessary columns
D.Increase the query's resource allocation by using a larger service level objective
AnswerB

Creating external tables with explicit schema and partitioning allows the serverless SQL pool to perform partition elimination, reading only the relevant directories matching filter conditions, thereby significantly reducing data scanned.

Why this answer

Partitioning external tables in Azure Synapse serverless SQL allows the query engine to perform partition elimination, reading only the subdirectories that match the filter criteria. This directly reduces the amount of data scanned from Parquet files in ADLS, addressing the core issue of reading unnecessary data.

Exam trap

The trap here is that candidates often confuse column pruning (reducing columns) with partition pruning (reducing rows), or assume that file size optimization alone reduces data volume, when in fact partition elimination is the key technique for minimizing scanned data in serverless SQL pools.

How to eliminate wrong answers

Option A is wrong because splitting large Parquet files into smaller files does not reduce the total data scanned; it may even increase overhead due to more file open operations. Option C is wrong because column pruning reduces the columns read, not the rows; the query still scans all partitions and files, so it does not address reading more data than necessary when filtering is involved. Option D is wrong because increasing the service level objective (SLO) allocates more resources but does not change the amount of data scanned; it only speeds up the scan, which is not the most effective way to reduce data volume.

207
MCQeasy

You are developing a data processing solution in Azure Synapse Analytics. The solution must use a serverless SQL pool to query Parquet files stored in Azure Data Lake Storage Gen2. Which authentication method should you use to ensure that the queries use the identity of the caller and adhere to Azure role-based access control (RBAC) permissions?

A.Microsoft Entra ID pass-through authentication.
B.Storage account key.
C.Shared access signature (SAS) token.
D.Service principal with a secret.
AnswerA

Microsoft Entra ID pass-through uses the caller's identity and enforces RBAC permissions.

Why this answer

Microsoft Entra ID pass-through authentication (option A) is correct because it allows the serverless SQL pool to use the caller's identity when accessing Azure Data Lake Storage Gen2. This ensures that Azure RBAC permissions (e.g., Storage Blob Data Reader) assigned to the user are evaluated for each query, providing fine-grained access control without exposing storage account keys or tokens.

Exam trap

The trap here is that candidates often confuse 'service principal' (a fixed identity) with 'user identity' and select option D, not realizing that pass-through authentication is the only method that preserves the caller's individual RBAC permissions.

How to eliminate wrong answers

Option B (Storage account key) is wrong because it uses a shared secret that grants full administrative access to the storage account, bypassing RBAC and the caller's identity entirely. Option C (Shared access signature token) is wrong because it delegates access based on a pre-signed URI with fixed permissions and expiry, not the caller's identity, and does not enforce RBAC. Option D (Service principal with a secret) is wrong because it authenticates as a fixed application identity rather than the individual caller, so RBAC permissions are evaluated against the service principal, not the user who submitted the query.

208
MCQmedium

Your organization uses Azure Synapse Analytics dedicated SQL pool to store sales data. You need to design a data loading process for a nightly batch that inserts new rows and updates existing rows based on the business key. The table has a clustered columnstore index. Which approach minimizes table fragmentation?

A.Use UPDATE for existing rows and INSERT for new rows.
B.Use DELETE and INSERT statements in a single transaction.
C.Use a MERGE statement to perform upserts.
D.Create a staging table, load data, then use CTAS and partition switching to replace the target partition.
AnswerD

CTAS rebuilds the partition, minimizing fragmentation.

Why this answer

Using a staging table with CREATE TABLE AS SELECT (CTAS) and then switching partitions replaces the entire partition without individual row modifications, which minimizes fragmentation in a clustered columnstore index. Option A (UPDATE and INSERT) is wrong because individual updates cause columnstore fragmentation. Option B (DELETE and INSERT in a single transaction) also involves row-level changes that fragment columnstore.

Option C (MERGE) is wrong because MERGE operations on columnstore indexes cause significant fragmentation due to row-by-row modifications.

209
MCQhard

You are troubleshooting a Synapse Pipeline that runs a Copy activity from an on-premises SQL Server to Azure Synapse Dedicated SQL Pool. The pipeline fails with the error: 'Failure happened on 'Source' side. ErrorCode=SqlOperationFailed.' The on-premises SQL Server has no firewall restrictions. What is the most likely cause?

A.Staging is not enabled for the Copy activity.
B.The destination table in Synapse has a different schema.
C.The SQL Server credentials in the linked service are incorrect.
D.The self-hosted integration runtime is not configured properly.
AnswerD

A self-hosted integration runtime is required to connect from Azure to on-premises networks; misconfiguration is a common cause of source-side failures.

Why this answer

The error 'Failure happened on 'Source' side. ErrorCode=SqlOperationFailed' indicates that the Copy activity cannot connect to the on-premises SQL Server. Since the question states there are no firewall restrictions, the most likely cause is that the self-hosted integration runtime (SHIR) is not properly configured, registered, or running.

The SHIR is required to bridge the on-premises network to Azure, and if it is not correctly set up, the source connection will fail.

Exam trap

The trap here is that candidates often assume the error is due to credentials or schema mismatches, but the source-side failure with 'SqlOperationFailed' in an on-premises scenario almost always points to the self-hosted integration runtime connectivity, not the SQL Server itself.

How to eliminate wrong answers

Option A is wrong because staging is not required for a direct copy from on-premises SQL Server to Azure Synapse; staging is used for large data volumes or to enable additional transformations, and its absence would not cause a source-side SQL operation failure. Option B is wrong because a schema mismatch between the source and destination would cause a 'Failure happened on 'Sink' side' error, not a source-side error. Option C is wrong because incorrect SQL Server credentials would result in an authentication error (e.g., 'Login failed for user'), not a generic 'SqlOperationFailed' error, and the error message does not indicate a credential issue.

210
MCQeasy

You are processing streaming data from IoT devices using Azure Stream Analytics. The data includes temperature readings and device IDs. You need to calculate the average temperature per device over a 5-minute window, sliding every 1 minute. Which window function should you use?

A.Hop window
B.Session window
C.Sliding window
D.Tumbling window
AnswerA

Hop windows overlap and advance every hop interval.

Why this answer

A Hop window in Azure Stream Analytics allows you to specify a window size (5 minutes) and a hop size (1 minute), creating overlapping windows that slide forward every minute. This matches the requirement to calculate the average temperature per device over a 5-minute period, recalculated every minute, as the hop window outputs results at each hop interval while retaining data across overlapping windows.

Exam trap

The trap here is that candidates confuse 'sliding' with 'hopping' — a Sliding window in Stream Analytics is event-driven and does not produce periodic outputs, whereas a Hop window is time-driven and explicitly supports overlapping fixed-size windows with a hop interval.

How to eliminate wrong answers

Option B is wrong because a Session window groups events based on inactivity gaps (session timeout), not fixed time intervals, and would not produce consistent 5-minute windows sliding every 1 minute. Option C is wrong because a Sliding window in Stream Analytics outputs results only when an event occurs (e.g., for each new event), not at fixed time intervals, and does not support a predefined hop size. Option D is wrong because a Tumbling window is a series of fixed-size, non-overlapping contiguous time windows (e.g., every 5 minutes), which cannot produce overlapping windows that slide every 1 minute.

211
MCQeasy

You are developing a real-time data processing solution using Azure Stream Analytics. The input is an Azure Event Hubs stream with JSON data containing a 'timestamp' field. You need to output the average temperature per device every minute using a tumbling window. Which query should you use?

A.SELECT DeviceId, AVG(Temperature) AS AvgTemp FROM Input TIMESTAMP BY Timestamp GROUP BY DeviceId, SlidingWindow(minute, 1)
B.SELECT DeviceId, AVG(Temperature) AS AvgTemp FROM Input TIMESTAMP BY Timestamp GROUP BY DeviceId, TumblingWindow(minute, 1)
C.SELECT DeviceId, AVG(Temperature) AS AvgTemp FROM Input TIMESTAMP BY Timestamp GROUP BY DeviceId, SessionWindow(minute, 1, 1)
D.SELECT DeviceId, AVG(Temperature) AS AvgTemp FROM Input TIMESTAMP BY Timestamp GROUP BY DeviceId, HopWindow(minute, 1, 1)
AnswerB

Tumbling window of 1 minute produces non-overlapping windows.

Why this answer

A tumbling window is a fixed, non-overlapping time window that groups events into distinct time segments. Using `TumblingWindow(minute, 1)` with `TIMESTAMP BY Timestamp` ensures that the average temperature per device is computed over each one-minute interval without overlap, which matches the requirement of 'every minute'.

Exam trap

The trap here is that candidates confuse `SlidingWindow` or `HopWindow` with `TumblingWindow`, not realizing that only `TumblingWindow` produces non-overlapping, fixed-interval outputs required for a simple per-minute average.

How to eliminate wrong answers

Option A is wrong because `SlidingWindow` produces a continuous output for every event, not fixed intervals, and would not give a single average per minute. Option C is wrong because `SessionWindow` groups events based on inactivity gaps, not fixed time boundaries, and would not produce a consistent per-minute result. Option D is wrong because `HopWindow` creates overlapping windows with a hop size smaller than the window size, leading to multiple outputs per minute and not a single non-overlapping aggregation.

212
MCQhard

You are designing a data processing solution using Azure Databricks with Delta Lake. The data is ingested from multiple sources and needs to be deduplicated based on a composite key (source_id, record_id). New data may have duplicates within the same batch. Which write mode and table property should you use to handle this efficiently?

A.Use 'append' mode and perform a MERGE operation after write to deduplicate.
B.Use 'overwrite' mode and enable 'delta.autoOptimize.optimizeWrite' = true.
C.Use 'ignore' mode and set 'delta.autoCompact' = true.
D.Use 'error' mode and enable 'delta.merge.onSchemaMismatch' = true.
AnswerA

Append with a subsequent MERGE allows custom dedup logic on composite key.

Why this answer

Using 'append' mode writes all incoming data as new files, and then performing a MERGE operation (upsert) based on the composite key (source_id, record_id) allows you to efficiently deduplicate both within the batch and against existing data. This approach leverages Delta Lake's ACID transactions and avoids the cost of rewriting entire partitions, making it suitable for handling duplicates from multiple sources.

Exam trap

Microsoft often tests the misconception that 'overwrite' mode or table properties like 'autoOptimize' can handle deduplication, but the correct approach requires explicit deduplication logic (like MERGE) because Delta Lake does not enforce unique constraints natively.

How to eliminate wrong answers

Option B is wrong because 'overwrite' mode replaces the entire table or partition, which is inefficient for deduplication and would lose existing data not in the current batch; enabling 'delta.autoOptimize.optimizeWrite' only improves file layout, not deduplication logic. Option C is wrong because 'ignore' mode silently skips writes that would cause a duplicate based on the Delta table's schema or constraints, but Delta Lake does not enforce unique constraints natively, so duplicates would still be written; 'delta.autoCompact' only merges small files, not deduplicates. Option D is wrong because 'error' mode fails the write if any data conflicts (e.g., schema mismatch), which is not a deduplication strategy; 'delta.merge.onSchemaMismatch' is not a valid Delta Lake table property—the correct property for schema evolution is 'delta.autoMerge.enabled' or 'mergeSchema' in the DataFrame writer option.

213
Multi-Selecthard

You are designing a real-time data processing solution using Azure Stream Analytics. The input is from Azure Event Hubs, and the output is to Azure Synapse Analytics. The solution must guarantee exactly-once delivery to Synapse. Which THREE configurations are required? (Choose three.)

Select 3 answers
A.Configure the output to use batch mode for writing.
B.Define a watermark strategy in the query to handle late-arriving events.
C.Set the late arrival tolerance window to zero.
D.Use a job with a unique identifier column in the output to enable deduplication.
E.Ensure the output table in Synapse has a primary key to support upsert operations.
AnswersB, D, E

Ensures correct windowing.

Why this answer

For exactly-once delivery to Azure Synapse Analytics from Stream Analytics, you need: a unique identifier column in the output table to enable deduplication (D), a watermark strategy to handle late-arriving events (B), and the output table must have a primary key to support upsert operations (E). Batch mode (A) is not supported for exactly-once delivery; instead, the output should use row-level insert/upsert. Setting the late arrival tolerance to zero (C) is not required; it is used to discard events that arrive after the tolerance, but it does not contribute to exactly-once semantics.

214
MCQmedium

Refer to the exhibit. You have created an external table in Azure Synapse serverless SQL pool as shown. You run a query: SELECT ProductID, SUM(Amount) FROM dbo.ExternalSales WHERE SaleDate > '2024-01-01' GROUP BY ProductID. The query is slow and scans all files in the /sales/ folder, which contains data from 2023 and 2024. The files are partitioned by year and month in the folder structure, e.g., /sales/year=2023/month=01/. What should you do to improve query performance?

A.Recreate the external table with a partition definition on SaleDate column using the folder structure
B.Recreate the external table with a partition on ProductID
C.Create statistics on the SaleDate column
D.Change the file format to CSV to improve read performance
AnswerA

By defining partitions using the folder structure, serverless SQL can skip partitions that don't match the filter.

Why this answer

The query performance is slow due to full file scanning. By recreating the external table with a partition definition on the SaleDate column that maps to the folder structure (e.g., /sales/year=2023/month=01/), Azure Synapse serverless SQL pool can perform partition elimination, reading only the relevant partitions for the WHERE clause filter (SaleDate > '2024-01-01'). This drastically reduces the amount of data scanned, improving query speed.

Exam trap

The trap here is that candidates often confuse creating statistics (which helps cardinality estimation but not data skipping) with partition elimination (which physically reduces data scanned), or they assume any column partition will work without matching the folder structure.

How to eliminate wrong answers

Option B is wrong because partitioning on ProductID does not align with the folder structure (which is partitioned by year and month), so it would not enable partition elimination for the date filter; it would still scan all files. Option C is wrong because creating statistics on SaleDate helps the query optimizer estimate cardinality but does not reduce the amount of data scanned; the query would still read all files without partition pruning. Option D is wrong because CSV files are typically slower to read than Parquet due to lack of compression and columnar storage; changing to CSV would worsen performance, not improve it.

215
MCQhard

Refer to the exhibit. You submit a Spark job in Azure Synapse Analytics using the Azure CLI. The job runs slowly during the shuffle phase. The input data is about 200 GB. Which configuration change would best improve performance for this shuffle-heavy workload?

A.Increase the number of executors to 4.
B.Change executor size to 'Large' to increase memory per executor.
C.Increase spark.sql.shuffle.partitions to 800.
D.Decrease spark.sql.shuffle.partitions to 200 to reduce overhead.
AnswerC

More partitions reduce the size of each partition, speeding up shuffle.

Why this answer

Increasing spark.sql.shuffle.partitions to 800 improves parallelism for a 200 GB shuffle-heavy workload, reducing partition sizes and shuffle time. Option A is incorrect because executor count alone does not directly address shuffle partitioning. Option B may help but is less impactful than partition tuning.

Option D would worsen the problem by making partitions larger.

216
Multi-Selecteasy

You are designing a data processing solution in Azure Synapse Analytics. The solution must use a dedicated SQL pool to support both batch and near-real-time data ingestion. Which TWO of the following methods can you use to ingest data into a dedicated SQL pool? (Select TWO.)

Select 2 answers
A.CREATE TABLE AS SELECT (CTAS) from external tables.
B.PolyBase with T-SQL commands.
C.COPY INTO command.
D.Azure Logic Apps with SQL connector.
E.Azure Data Factory with a copy activity using native sink.
AnswersA, B

CTAS can load data into a dedicated SQL pool from external tables.

Why this answer

CREATE TABLE AS SELECT (CTAS) from external tables is correct because it allows you to load data from external storage (e.g., Azure Blob Storage or Azure Data Lake Storage) into a dedicated SQL pool in a single, parallelized operation. This method leverages the MPP (Massively Parallel Processing) architecture of Synapse SQL pools to efficiently ingest large volumes of data for batch processing.

Exam trap

The trap here is that candidates often confuse the COPY INTO command (valid only for serverless SQL pools) with PolyBase or CTAS, or mistakenly think Azure Data Factory's native sink can directly write to a dedicated SQL pool without PolyBase or staging.

217
MCQeasy

You are using Azure Synapse Analytics serverless SQL pool to query Parquet files in Azure Data Lake Storage Gen2. The query returns fewer rows than expected. What should you check first?

A.Ensure the external table has the correct schema definition.
B.Check that the Azure AD identity has read permissions on the storage account.
C.Check the compression codec used in the Parquet files.
D.Verify the file path and pattern in the OPENROWSET query.
AnswerD

Incorrect file path or pattern can cause missing files or partitions.

Why this answer

When using OPENROWSET in Azure Synapse serverless SQL pool to query Parquet files, the most common reason for fewer rows than expected is an incorrect file path or pattern. If the path or pattern is too restrictive (e.g., missing a wildcard or pointing to a subfolder instead of the root), the query will only read a subset of the files, resulting in fewer rows. This is the first thing to verify before investigating schema or permissions issues.

Exam trap

The trap here is that candidates often jump to schema or permission issues first, but the most frequent cause of missing rows in serverless SQL pool queries is an overly restrictive file path or pattern in the OPENROWSET query.

How to eliminate wrong answers

Option A is wrong because an incorrect schema definition would typically cause data type conversion errors or NULL values, not a reduction in row count; the query would still read all rows but might fail to parse them. Option B is wrong because if the Azure AD identity lacked read permissions, the query would fail entirely with an authorization error, not return fewer rows. Option C is wrong because the compression codec (e.g., snappy, gzip) does not affect the number of rows returned; Parquet files are self-describing and the serverless SQL pool automatically handles decompression regardless of codec.

218
MCQhard

You are running a data transformation pipeline in Azure Synapse Spark that writes output to Delta tables. You notice that the job eventually slows down and then fails with an out-of-memory error. The input data size is 1 TB, and the cluster has 10 nodes with 16 GB memory each. What is the most likely cause?

A.The driver node does not have enough memory to collect the results
B.The data is not partitioned properly, leading to large partitions that exceed executor memory
C.The Delta table is being written in non-optimized format causing memory pressure
D.The transformation involves a wide dependency causing excessive shuffle
AnswerB

Unpartitioned data can result in a few large partitions that cause OOM. Increasing parallelism or repartitioning can help.

Why this answer

The most likely cause is that the data is not partitioned properly, leading to large partitions that exceed executor memory. In Azure Synapse Spark, each executor has a limited memory (16 GB per node in this cluster), and if a single partition is too large to fit in memory, the task processing that partition will fail with an out-of-memory error. Proper partitioning ensures that data is evenly distributed across executors, preventing any single partition from overwhelming available memory.

Exam trap

The trap here is that candidates often confuse out-of-memory errors with driver-side collection (Option A) or shuffle-related issues (Option D), but the specific context of writing to Delta tables points to executor memory exhaustion from oversized partitions, not driver memory or shuffle overhead.

How to eliminate wrong answers

Option A is wrong because the driver node collects results only for actions like `collect()` or `show()`, but writing to Delta tables does not require collecting results to the driver; the failure is on executor tasks, not the driver. Option C is wrong because Delta tables are inherently optimized (using Parquet format with ACID transactions), and writing in non-optimized format is not a concept; memory pressure is caused by partition size, not the table format. Option D is wrong because while wide dependencies (e.g., groupBy, join) can cause excessive shuffle, the question specifically describes a slowdown and out-of-memory error during writing, which is more directly tied to partition size rather than shuffle overhead.

219
Multi-Selectmedium

Which TWO of the following are valid ways to handle late-arriving data in a streaming solution with Azure Stream Analytics? (Choose two.)

Select 2 answers
A.Reprocess the entire stream from the beginning when late data is detected.
B.Implement a custom Azure Function as a 'LateDataHandler' in the query.
C.Use a reference data input to store late-arriving events.
D.Configure the 'late arrival tolerance' window in the event ordering settings up to 21 days.
E.Use a temporal join to combine the late-arriving event with the historical window.
AnswersD, E

Stream Analytics allows setting a late arrival tolerance window to handle events that arrive after the event time.

Why this answer

Azure Stream Analytics allows you to configure a 'late arrival tolerance' window in the event ordering settings, which can be set up to a maximum of 21 days. This window defines how long the service will wait to accommodate events that arrive after their timestamp, reordering them within that tolerance before processing. Option E is correct because a temporal join (e.g., using LATERAL or JOIN with DATEDIFF) can combine a late-arriving event with historical data from a reference or stream window, enabling you to retroactively correct aggregations or state.

Exam trap

The trap here is that candidates confuse the 'late arrival tolerance' with a simple delay setting, not realizing it is a reordering buffer up to 21 days, and they overlook temporal joins as a valid pattern for handling late data, instead assuming only external functions or full reprocessing are options.

220
MCQmedium

You have an Azure Stream Analytics job that reads from an Event Hub and writes to Azure SQL Database. The job processes high-velocity IoT sensor data. You notice that the output to SQL Database is slower than expected and the job's watermark delay is increasing. What should you do to improve throughput?

A.Partition the output by a column like DeviceId.
B.Disable late arrival and out-of-order event handling.
C.Increase the Streaming Units (SU) of the job.
D.Decrease the window size in the query.
AnswerA

Partitioning allows parallel writes to SQL.

Why this answer

Partitioning the output by a column like DeviceId allows Azure Stream Analytics to write to multiple SQL Database tables or use partitioned tables, enabling parallel writes. This reduces contention and improves throughput because the job can distribute the load across multiple write operations, directly addressing the bottleneck caused by high-velocity IoT sensor data overwhelming a single output stream.

Exam trap

The trap here is that candidates often assume increasing compute resources (Streaming Units) always solves performance issues, but they overlook that the bottleneck is frequently at the output sink, requiring architectural changes like partitioning rather than scaling.

How to eliminate wrong answers

Option B is wrong because disabling late arrival and out-of-order event handling does not improve output throughput; it only changes how events are timestamped and may cause data loss or inaccuracies without addressing the write bottleneck. Option C is wrong because increasing Streaming Units (SU) allocates more compute resources to the job, but if the bottleneck is at the SQL Database output (e.g., write limits or lack of partitioning), adding SUs will not improve throughput and may even increase backpressure. Option D is wrong because decreasing the window size in the query reduces the amount of data aggregated per window, but it does not affect the rate at which output rows are written to SQL Database; the bottleneck remains at the output sink.

221
MCQeasy

You need to transform data in Azure Databricks using Apache Spark. The data is stored in Delta Lake format in Azure Data Lake Storage Gen2. Which method should you use to read the data into a Spark DataFrame?

A.spark.read.parquet('abfss://container@storage.dfs.core.windows.net/path')
B.spark.read.format('delta').load('abfss://container@storage.dfs.core.windows.net/path')
C.spark.read.csv('abfss://container@storage.dfs.core.windows.net/path')
D.spark.read.json('abfss://container@storage.dfs.core.windows.net/path')
AnswerB

Delta format correctly reads the table including transaction log.

Why this answer

The data is stored in Delta Lake format, which requires using the 'delta' format reader in Spark to properly read the transaction log and schema. The `spark.read.format('delta').load()` method is the standard way to read Delta tables, leveraging the Delta Lake protocol for ACID transactions and time travel capabilities.

Exam trap

The trap here is that candidates may assume Delta Lake files are just Parquet files and use `spark.read.parquet()`, missing the critical role of the Delta transaction log for consistency and ACID compliance.

How to eliminate wrong answers

Option A is wrong because `spark.read.parquet()` reads only Parquet files and ignores Delta Lake's transaction log, leading to stale or inconsistent data. Option C is wrong because `spark.read.csv()` is for CSV files, not Delta Lake format. Option D is wrong because `spark.read.json()` is for JSON files, not Delta Lake format.

222
Multi-Selectmedium

Which TWO actions can you take to optimize query performance in Azure Synapse Analytics dedicated SQL pool?

Select 2 answers
A.Use hash distribution on a low-cardinality column
B.Use round-robin distribution for fact tables
C.Use replicated tables for small dimension tables
D.Create materialized views for common aggregations
E.Increase the DWU setting after every query
AnswersC, D

Replicated tables eliminate data shuffling for joins with fact tables.

Why this answer

Correct: C and D. Replicated tables are optimal for small dimension tables because they avoid data movement during joins. Materialized views pre-compute and store aggregation results, improving query performance for common aggregations.

A is incorrect because hash distribution on a low-cardinality column can lead to data skew and uneven distribution. B is incorrect because round-robin distribution is generally used for staging tables, not fact tables in a star schema. E is incorrect because increasing DWU is a scaling action, not a query optimization design choice.

223
MCQeasy

You are using Azure Data Factory to copy data from an Azure SQL Database to Azure Synapse dedicated SQL pool. The copy activity uses PolyBase as the copy method. The activity fails with the error 'Operation not supported: PolyBase cannot write to a table with clustered columnstore index'. What should you do to resolve this error?

A.Use an external table as the sink instead of a regular table
B.Create the target table as a heap or with clustered index
C.Enable staging with blob storage and use 'Allow PolyBase'
D.Change the copy method from PolyBase to Bulk Insert
AnswerB

PolyBase does not support writing to a clustered columnstore index directly. The table must be a heap or have a clustered index.

Why this answer

PolyBase in Azure Data Factory cannot write directly to a table that has a clustered columnstore index (CCI). The sink table must be a heap or have a clustered index for PolyBase to work. Option B correctly identifies this requirement, as creating the target table as a heap or with a clustered index resolves the error.

Exam trap

The trap here is that candidates often assume staging with blob storage (Option C) or switching to Bulk Insert (Option D) are the only workarounds, but the question specifically tests the PolyBase requirement that the sink table must not have a clustered columnstore index.

How to eliminate wrong answers

Option A is wrong because using an external table as the sink would require additional setup and is not a direct fix for the PolyBase CCI limitation; PolyBase can write to external tables, but the error specifically occurs when writing to a regular table with CCI. Option C is wrong because enabling staging with blob storage and 'Allow PolyBase' is used for staging-based PolyBase loads, but it does not bypass the requirement that the final sink table must not have a CCI. Option D is wrong because changing the copy method from PolyBase to Bulk Insert would work but is not the optimal or recommended fix; the question asks what should be done to resolve the error, and the correct approach is to adjust the table schema to support PolyBase, not to abandon PolyBase entirely.

224
MCQhard

You are designing a data processing solution using Azure Databricks with Delta Lake. You need to ensure ACID transactions and schema enforcement. Which feature should you enable?

A.Auto Loader
B.Delta Lake format
C.Photon engine
D.Unity Catalog
AnswerB

Delta Lake provides ACID transactions, schema enforcement, and time travel.

Why this answer

Delta Lake is the correct choice because it provides ACID transactions (atomicity, consistency, isolation, durability) and schema enforcement (schema-on-write) on top of cloud storage like Azure Data Lake Storage. These features are inherent to the Delta Lake format, which uses a transaction log to track changes and enforce data integrity, making it ideal for reliable data processing in Azure Databricks.

Exam trap

Microsoft often tests the distinction between features that provide data governance (Unity Catalog) versus features that provide data reliability at the storage layer (Delta Lake), leading candidates to confuse Unity Catalog's metadata management with Delta Lake's transactional guarantees.

How to eliminate wrong answers

Option A is wrong because Auto Loader is a feature for incrementally ingesting new files from cloud storage, not for providing ACID transactions or schema enforcement. Option C is wrong because the Photon engine is a high-performance vectorized query engine that accelerates query execution but does not manage ACID transactions or schema constraints. Option D is wrong because Unity Catalog is a centralized metadata and governance layer for managing data assets, permissions, and lineage, but it does not directly enforce ACID transactions or schema enforcement at the table level.

225
MCQhard

You are working with a Delta Lake table in Azure Databricks. The table is updated frequently with new data and occasionally with updates to existing rows. You need to optimize read performance for queries that filter on a specific date column. The table is partitioned by date. Which optimization technique should you apply?

A.Run OPTIMIZE on the table.
B.Run ZORDER BY on the date column.
C.Run ANALYZE STATISTICS on the table.
D.Run VACUUM to clean up old versions.
AnswerB

Z-ordering co-locates column data, improving data skipping for filters on that column.

Why this answer

ZORDER BY on the date column co-locates related data within each partition, significantly reducing the amount of data scanned for queries that filter on that column. This is especially beneficial for a frequently updated Delta table where data is already partitioned by date, as ZORDER BY optimizes the layout within partitions without changing the partition scheme.

Exam trap

The trap here is that candidates often confuse OPTIMIZE (file compaction) with ZORDER BY (data clustering), assuming any performance optimization technique will improve filter queries, but only ZORDER BY physically reorders data to enable efficient data skipping.

How to eliminate wrong answers

Option A is wrong because OPTIMIZE only compacts small files into larger ones and does not reorder data within partitions to improve filter performance on a specific column. Option C is wrong because ANALYZE STATISTICS collects metadata for the query optimizer but does not physically reorganize data to accelerate date-based filtering. Option D is wrong because VACUUM removes old snapshots and files for storage cleanup, not for read performance optimization on current data.

← PreviousPage 3 of 4 · 261 questions totalNext →

Ready to test yourself?

Try a timed practice session using only Develop data processing questions.