SnowPro Advanced: Data Engineer · Free practice question 4 of 10
Fan-in task DAGs with AFTER
Two independent tasks (LOAD_A and LOAD_B) must both complete before a third task (JOIN_AB) runs, and all three should share the same schedule. What is the cleanest Snowflake-native setup?
- A.Set LOAD_A and LOAD_B on the same schedule; create JOIN_AB with AFTER LOAD_A, LOAD_B.
- B.Chain LOAD_A -> LOAD_B -> JOIN_AB serially so JOIN_AB implicitly waits.
- C.Trigger LOAD_A and LOAD_B on the schedule and have JOIN_AB poll SYSTEM$TASK_STATUS in a WHEN clause.
- D.Use an external orchestrator; Snowflake tasks cannot express fan-in dependencies.
Show answer and explanation
Correct answer: A. Set LOAD_A and LOAD_B on the same schedule; create JOIN_AB with AFTER LOAD_A, LOAD_B.
Why: Snowflake task DAGs support multiple predecessors — the AFTER clause creates a fan-in dependency so the child runs only after every named predecessor completes successfully within the same run. Serial chaining defeats the parallelism between LOAD_A and LOAD_B. Polling status is wasteful when the platform provides fan-in natively. External orchestrators are unnecessary.
More free SnowPro Advanced: Data Engineer questions
- Snowpark lazy evaluation
- Dynamic tables with TARGET_LAG
- Snowpipe Streaming for sub-10-second latency
- Time Travel vs Fail-safe recovery window
- Maintaining externally managed Iceberg tables
- External table partition metadata refresh
- Tag propagation across data movement
- Query Acceleration max scale factor
- Alerting on Cortex AI credit usage