ARA-C01 Data Engineering Practice Question
A data engineering team needs to merge late-arriving dimension updates into a large target table. The source is a staging table containing both inserts and updates, and the target has a natural business key. The team wants a single statement that applies all changes atomically and avoids duplicate rows when the source contains multiple records for the same key. Which approach should the architect recommend?
⚠ Common exam trap
The trap here is assuming MERGE tolerates duplicate source rows per key, when a matched key appearing more than once in the source causes a nondeterministic or failing merge.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Use a MERGE statement whose source is a subquery that deduplicates the staging table by business key, keeping the latest record per key.
A MERGE with a deduplicated source applies all changes in one atomic statement and guarantees each target row is touched once. Ranking staging rows per business key and keeping the latest avoids the duplicate-match error and yields deterministic upserts. Separate insert and update statements, full-table overwrite, and per-row task updates either risk nondeterminism, incur excessive cost, or fail to collapse duplicates.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Run an INSERT for new keys and a separate UPDATE for existing keys as two statements inside an explicit transaction.
Why it's wrong here
Two separate statements can work but are not atomic with respect to concurrent readers unless wrapped carefully, and they do not handle multiple source rows per key without additional deduplication logic. The UPDATE would also need a correlated subquery or join that can produce nondeterministic results when duplicates exist. This is more error-prone than a single MERGE with a deduplicated source.
- ✗
Use INSERT OVERWRITE to replace the entire target table with a fresh join of the staging table and the existing target.
Why it's wrong here
INSERT OVERWRITE replaces all rows in the target, which is expensive for a large dimension and can break dependent objects or time travel expectations during the swap. It also requires a correct join that handles duplicates, so the deduplication problem remains. For late-arriving updates to a large table, a targeted MERGE is far more efficient than rewriting the whole table.
- ✗
Create a Stream on the staging table and consume it with a task that issues individual UPDATE statements per changed row.
Why it's wrong here
A Stream captures changes, but issuing one UPDATE per changed row is inefficient at scale and still does not deduplicate multiple changes to the same key within a single stream batch. The task would need additional logic to collapse records. This approach adds complexity and cost without solving the duplicate-key problem that MERGE with a deduplicated source handles directly.
- ✓
Use a MERGE statement whose source is a subquery that deduplicates the staging table by business key, keeping the latest record per key.
Why this is correct
MERGE applies inserts, updates, and optionally deletes in one atomic statement. Deduplicating the source with a windowed subquery that ranks rows per business key and keeps the most recent ensures each target row is matched at most once. This prevents the error Snowflake raises when a source row joins to multiple target rows or the source has duplicates for a matched key, giving deterministic results.
About these practice questions
This ARA-C01 question is part of Courseiva's 209-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Snowflake exam blueprint
This ARA-C01 practice question is part of Courseiva's free Snowflake certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the ARA-C01 exam.