CertKeen

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?

  1. A.Set LOAD_A and LOAD_B on the same schedule; create JOIN_AB with AFTER LOAD_A, LOAD_B.
  2. B.Chain LOAD_A -> LOAD_B -> JOIN_AB serially so JOIN_AB implicitly waits.
  3. C.Trigger LOAD_A and LOAD_B on the schedule and have JOIN_AB poll SYSTEM$TASK_STATUS in a WHEN clause.
  4. 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