正解: CMicrosoft Fabricで `mssparkutils.notebook.runMultiple` を使用してノートブックの実行をオーケストレーションする場合、`stages` パラメータを使用して実行の順序と並列性を制御できます。
`stages` の主な特徴は以下の通りです:
- ステージは定義された順序で逐次的に実行されます。
- 各ステージ内に定義されたアクティビティ(ノートブック)は並列で実行されます。
この問題の要件は次の2つです:
- 1. `notebook_01` と `notebook_02` を並列で実行する。
- 2. `notebook_02` は `notebook_03` の実行完了後に実行する。
これらの要件を満たすためには、まず `notebook_03` を実行し、その完了後に `notebook_01` と `notebook_02` を同時に開始するという実行フローを構築する必要があります。
選択肢Cは、このフローを正しく実装しています:
- ステージ1: `notebook_03` を配置します。
- ステージ2: `notebook_01` と `notebook_02` を配置します。
この構成により、まずステージ1の `notebook_03` が実行されます。ステージ1が完了すると、次にステージ2が開始され、その中の `notebook_01` と `notebook_02` が並列で実行されます。これは、提示されたすべての要件を完全に満たします。
他の選択肢の解説:- A: 別のDAGを作成すると、単一の実行フロー内で依存関係を管理できなくなります。
- B: アクティビティの宣言順序は実行順序に影響しません。また、`concurrency` は個々のアクティビティではなく、DAG全体に適用される設定です。
- D: `notebook_03` をステージの外に置いたままでは、ステージとの明確な依存関係が定義されません。すべての関連ノートブックをステージ内に配置することで、実行順序を保証できます。