
Answer-first summary for fast verification
Answer: To the data flow, add a sink transformation to write the rows to a file in blob storage., To the data flow, add a Conditional Split transformation to separate the rows that will cause truncation errors.
## Detailed Explanation ### Requirements Analysis The scenario requires handling potential truncation errors in the comment column when inserting data into an Azure Synapse Analytics dedicated SQL pool. The key requirements are: - **All valid rows** must reach the destination table - **Proactively avoid** truncation errors in the comment column - **Rows with problematic comment values** must be written to blob storage ### Solution Rationale **Option A: Add a sink transformation to write rows to blob storage** - This is essential to meet the requirement of writing problematic rows to blob storage - Without this additional sink, there's no mechanism to capture and store the rows that would cause truncation errors - The blob storage sink provides a safe landing zone for problematic data that cannot be inserted into the Synapse table **Option B: Add a Conditional Split transformation to separate problematic rows** - This transformation proactively identifies rows that would cause truncation errors before they reach the main sink - Using a condition like `length(comment) > [target_column_length]`, it can filter out rows where the comment value exceeds the target column's capacity - This prevents the truncation errors from occurring during the insert operation - The conditional split creates separate streams: one for valid data (proceeding to the Synapse sink) and one for problematic data (routed to the blob storage sink) ### Why Other Options Are Less Suitable **Option C: Add a filter transformation to filter out problematic rows** - While this would prevent truncation errors, it violates the requirement to write problematic rows to blob storage - A filter transformation simply removes rows from the data flow entirely, providing no mechanism to capture or store them - This approach loses data that might be valuable for analysis or debugging **Option D: Add a select transformation to select only problematic rows** - This would capture only the problematic rows, but it doesn't address the requirement to write all valid rows to the destination - A select transformation would filter out valid data, leaving only the problematic rows in the data flow - This violates the requirement that all valid rows must reach the destination table ### Optimal Data Flow Design The combination of Conditional Split (B) and additional sink (A) creates a robust error handling pattern: 1. **Conditional Split** identifies potential truncation issues proactively 2. **Valid data stream** continues to the existing Synapse sink 3. **Problematic data stream** is routed to the new blob storage sink 4. **Both requirements** are satisfied: valid data reaches destination, problematic data is captured for analysis This approach follows Azure Data Factory best practices for error handling and data quality management.
Ultimate access to all questions.
No comments yet.
Author: LeetQuiz Editorial Team
You are designing an Azure Data Factory data flow to ingest data from a CSV file with columns username, comment, and date. The data flow includes a source, a derived column transformation for type casting, and a sink to an Azure Synapse Analytics dedicated SQL pool.
To meet the requirements that all valid rows are written to the destination, truncation errors on the comment column are proactively avoided, and rows with comment values that would cause truncation are written to a blob storage file, which two actions should you take?
A
To the data flow, add a sink transformation to write the rows to a file in blob storage.
B
To the data flow, add a Conditional Split transformation to separate the rows that will cause truncation errors.
C
To the data flow, add a filter transformation to filter out rows that will cause truncation errors.
D
Add a select transformation to select only the rows that will cause truncation errors.