nerdexam
Microsoft

DP-700 · Question #123

You need to modify the DAG definition to meet the following requirements: Ensure that notebook_01 and notebook_02 run in parallel. Ensure that notebook_03 only runs after the execution of…

The correct answer is C. Create two stages in the DAG definition. Add notebook_03 to the first stage. Add notebook_01 and notebook_02 to the second stage. The question asks how to define dependencies in a DAG (Directed Acyclic Graph) to make two notebooks run in parallel and a third run only after both complete.

Design and implement data ingestion and transformation

Question

You need to modify the DAG definition to meet the following requirements:
  • Ensure that notebook_01 and notebook_02 run in parallel.
  • Ensure that notebook_03 only runs after the execution of notebook_01 and notebook_02 is complete.
How should you modify the DAG definition?

Options

  • ACreate a second DAG definition. Move notebook_03 and notebook_02 to the new DAG definition.
  • BMove the notebook_03 declaration to the top of the DAG definition. Add a concurrency to notebook_02 and notebook_01.
  • CCreate two stages in the DAG definition. Add notebook_03 to the first stage. Add notebook_01 and notebook_02 to the second stage.
  • DPlace the declaration of notebook_03 to the top of the DAG definition. Add a new stage that contains notebook_01 and notebook_02.

How the community answered

(41 responses)
  • A
    5% (2)
  • B
    17% (7)
  • C
    73% (30)
  • D
    5% (2)

Why each option

The question asks how to define dependencies in a DAG (Directed Acyclic Graph) to make two notebooks run in parallel and a third run only after both complete.

ACreate a second DAG definition. Move notebook_03 and notebook_02 to the new DAG definition.

Creating a second DAG definition would result in two independent execution flows and would not ensure the required sequential dependency between all three notebooks.

BMove the notebook_03 declaration to the top of the DAG definition. Add a concurrency to notebook_02 and notebook_01.

Merely moving a declaration to the top or adding a 'concurrency' parameter does not define the explicit parallel-then-sequential dependency required by the problem; dependencies dictate execution order, not declaration order.

CCreate two stages in the DAG definition. Add notebook_03 to the first stage. Add notebook_01 and notebook_02 to the second stage.Correct

To execute notebook_01 and notebook_02 concurrently and then notebook_03 sequentially after their completion, a DAG definition should structure these tasks into distinct stages. By logically grouping notebook_01 and notebook_02 into one stage for parallel execution and defining notebook_03 as a dependent task in a subsequent stage, the required execution flow is achieved, even if the specific phrasing of which stage is 'first' or 'second' in the option might be misleadingly reversed.

DPlace the declaration of notebook_03 to the top of the DAG definition. Add a new stage that contains notebook_01 and notebook_02.

Placing a declaration at the top and creating a new stage without explicit dependency definitions does not ensure the required parallel and sequential execution order.

Concept tested: DAG task orchestration, parallel and sequential execution

Source: https://learn.microsoft.com/fabric/data-factory/create-pipelines

Topics

#DAG#Workflow Orchestration#Task Dependencies#Parallel Execution

Community Discussion

No community discussion yet for this question.

Full DP-700 Practice