DP-203 · Question #243
You are creating an Azure Data Factory data flow that will ingest data from a CSV file, cast columns to specified types of data, and insert the data into a table in an Azure Synapse Analytics…
The correct answer is B. Add a sink transformation that writes the rows to a file in blob storage. D. Add a Conditional Split transformation that separates the rows which will cause truncation errors. D (Conditional Split) is needed to proactively separate problematic rows before they hit the Synapse sink - you define a condition like length(comment) > <max_column_length> to route truncation-prone rows into a separate output stream, satisfying the "proactive" requirement. B…
Question
You are creating an Azure Data Factory data flow that will ingest data from a CSV file, cast columns to specified types of data, and insert the data into a table in an Azure Synapse Analytics dedicated SQL pool. The CSV file contains columns named username, comment and date. The data flow already contains the following:
- A source transformation
- A Derived Column transformation to set the appropriate types of data
- A sink transformation to land the data in the pool
You need to ensure that the data flow meets the following requirements:
- All valid rows must be written to the destination table.
- Truncation errors in the comment column must be avoided proactively.
- Any rows containing comment values that will cause truncation errors
upon insert must be written to a file in blob storage. Which two actions should you perform? Each correct answer presents part of the solution. NOTE: Each correct selection is worth one point
Options
- AAdd a select transformation that selects only the rows which will cause truncation errors.
- BAdd a sink transformation that writes the rows to a file in blob storage.
- CAdd a filter transformation that filters out rows which will cause truncation errors.
- DAdd a Conditional Split transformation that separates the rows which will cause truncation errors.
How the community answered
(43 responses)- A14% (6)
- B79% (34)
- C7% (3)
Explanation
D (Conditional Split) is needed to proactively separate problematic rows before they hit the Synapse sink - you define a condition like length(comment) > <max_column_length> to route truncation-prone rows into a separate output stream, satisfying the "proactive" requirement. B (a second Sink transformation) is then needed to actually write that separated stream to blob storage, since each destination requires its own sink.
A is wrong because a Select transformation selects or drops columns, not rows - it has no row-filtering capability at all. C is wrong because a Filter transformation would simply discard the bad rows entirely; it cannot route them to a second destination like blob storage - you'd meet one requirement but fail the other. The key distinction between C and D is that Conditional Split sends rows down multiple named output streams, while Filter only produces a single "kept" stream.
Memory tip: When a requirement says rows must go to two different places, think split not filter - "Conditional Split = fork in the road; Filter = dead end."
Topics
Community Discussion
No community discussion yet for this question.