オペレーションセンターの有向非巡回グラフ (DAG) は、ノード間の依存関係を可視化します。また、DAG ではノード集約や上流/下流分析などの機能を提供しており、運用・保守 (O&M) 効率の向上に貢献します。本トピックでは、DAG の各機能について説明します。
制限事項
ノード集約、上流分析、下流分析の各機能は、DataWorks Professional Edition 以上をご利用のユーザーのみが使用できます。エディションのアップグレード方法については、「ソフトウェアエディションの選択と課金」をご参照ください。
DAG グラフの特徴
ノードの横にある DAG グラフ をクリックすると、そのノードの DAG が開きます。DAG 内では以下の操作が可能です。本トピックでは、定期インスタンスの DAG を例として説明します:
ノード集約
定期インスタンスのノード数またはレイヤー数が多すぎる場合、ノードステータス、ワークスペース、オーナー、優先度などのディメンションでノードを集約できます。これにより、特定のディメンションごとのノード数を把握でき、ノードの割り当ておよび実行をより効果的に実施できます。以下に、集約しない場合 と 優先度で集約した場合 のノード表示例を示します。
説明ノードステータスによる集約は、インスタンスの DAG のみでサポートされています。対象となるインスタンスには、自動トリガーされた定期インスタンス、手動でトリガーされたデータバックフィルインスタンス、およびテストインスタンスが含まれます。
ノードを集約しない場合、グラフは以下の図のようになります。

優先度でノードを集約した場合、グラフは以下の図のようになります。現在のノードには、優先度が 6 の子ノードが 1 個あることが、一目で確認できます。

上流分析
定期インスタンスには、しばしば上流および下流の依存関係があります。ターゲットノードが長期間実行されていない場合、そのノードに対して上流分析を実行できます。この分析により、DAG 内で現在のノードの実行をブロックしている先祖ノードが表示されます。これにより、実行時エラーを迅速に特定・解決し、ノードの実行効率を向上させることができます。
説明上流分析は、インスタンスの DAG のみでサポートされています。対象となるインスタンスには、自動トリガーされた定期インスタンス、手動でトリガーされたデータバックフィルインスタンス、およびテストインスタンスが含まれます。
上流分析 は、実行されていないノードに対してのみ実行できます。デフォルトで最大 6 レイヤーが表示されます。それ以上のレイヤーを表示するには、左上隅の 分析の継続 をクリックします。
上流分析により、現在のノードが依存しているが正常に実行されていない先祖ノードを素早く特定できます。これらのノードは、実行中、失敗、実行時刻待ち、リソース待ち、凍結(一時停止)のいずれかの状態である可能性があります。このような状態の先祖ノードは、子孫ノードの実行をブロックします。
例として、指定したノードが長期間実行されていない場合、そのノードを選択し、左上隅の 上流分析 をクリックします。
分析結果から、現在のノードの実行をブロックしている先祖ノードが old_work_rootノードであることがわかります(以下の図参照)。この結果により、ブロッキングノードを迅速に特定し、関連するエラーを解決できます。説明次のステップ:
キーインスタンスを特定した後、集約ディメンションでフィルターを適用して、現在のノードのデータ出力に影響を与えるキーインスタンスのワークスペースまたはオーナーを確認できます。これにより、O&M 効率が向上します。
現在のインスタンスの実行をブロックしているキーインスタンスを特定した後、そのインスタンスを右クリックし、実行診断 を選択することで、インスタンスが正常に実行されない原因を素早く分析できます。詳細については、「インテリジェント診断」をご参照ください。

下流分析
DAG を開くと、デフォルトで 3 レイヤーが表示されます。これらには、現在のノード、その第 1 レベルの親ノード、および第 1 レイヤーの子ノードが含まれます。定期インスタンスのノード数またはレイヤー数が多すぎる場合、影響範囲を把握することが難しくなることがあります。下流分析機能を使用すると、ノードステータス、ワークスペース、オーナー、優先度などのディメンションでフィルターを適用できます。これにより、対象のディメンションにおける各レイヤーのノード数、またはすべてのレイヤーにわたるノード総数をカウントできます。
説明集約状態では、表示をマージまたはレイヤー化できます。下流分析 をクリックすると、デフォルトでオーナーで集約され、すべてのレイヤーにわたる当該ディメンションのノード総数がカウントされます。
非集約状態では、子孫ノードが 10 個を超える場合、デフォルトでグループ単位で表示されます。このビューにより、ノードのビジネスへの影響をより明確に把握できます。
非集約状態では、グループ解除 をクリックすることで、グループ内のノードを個別に表示できます。このビューでは、すべてのノードの上流および下流の関係が確認できます。
下流分析 で レイヤー化 表示を使用する場合、最大 6 レイヤーが表示されます。それ以上のレイヤーを表示するには、左上隅の 分析の継続 をクリックします。
以下の例では、下流分析 を tag ノードに対して実行した結果を示します:
マージ:現在の集約ディメンションに基づき、分析対象の下流ノードを統合します。非集約状態では、下流ノードがグループ単位で表示されます。本例では、マージ 方法と ワークスペースで集約 を使用しています。すべての子孫ノードが単一のレイヤーに統合され、各ワークスペースごとのノード数が表示されます。

レイヤー化:現在の集約ディメンションに基づき、分析対象の下流ノードをレイヤー単位で表示します。本例では、レイヤー化 方法と ワークスペースで集約 を使用しています。各ワークスペースごとのノード数が異なるレイヤーに表示されます。

DAG の表示スタイルを選択
DAG の右上隅にある機能アイコンをクリックして、表示スタイルを調整できます。たとえば、全画面表示 や 画面に合わせる を使用できます。
以下の例では、ノードの子孫に対する グループ解除 表示と グループ化 表示の DAG を示します。
グループ解除 の DAG を以下の図に示します。このビューでは、すべてのノードの上流および下流の関係が確認できます。

[グループ] の DAG を次の図に示します。このビューでは、1 行あたり 5 個のノードが整然と表示され、子孫ノードの総数を素早く確認できます。

DAG では、ノードの上流および下流の依存関係が表示されます。実線は同一エポック内での依存関係を、破線はクロスサイクル依存を表します。また、ターゲットノードを右クリックして各種操作を実行することもできます。以下の図では、定期インスタンスを例として示します。

操作
説明
親/子ノードの展開
ビジネスフローにノードが 3 個以上ある場合、オペレーションセンターは自動的に一部のノードを非表示にします。親および子のレイヤーを展開することで、すべてのノードを表示できます。
運用ログの表示
現在のインスタンスの運用ログを表示します。インスタンスは実行中、成功、失敗のいずれかの状態です。
説明スケジュールの共有リソースグループで実行されるインスタンスは 1 ヶ月間保持され、ログは 1 週間保持されます。
スケジュール用の専用リソースグループでは、インスタンスおよびログともに 1 ヶ月間保持されます。
実行診断
DataWorks オペレーションセンターでは、ノードの実行に関するフルリンク情報を把握し、問題を迅速に特定できる実行診断機能を提供しています。詳細については、「インテリジェント診断」をご参照ください。
コードの表示
現在のインスタンスのコードを表示します。
ノードの編集
クリックして Data Studio ページに移動し、現在のノードの内容を変更します。
系統の表示
現在のインスタンスの系統を表示します。
詳細情報の表示
クリックして、現在のノードに関する情報を表示します(例: プロパティ、コンテキスト、運用ログ、操作ログ、コード)。
停止
実行待ちまたは実行中のインスタンスのみ停止できます。この操作後、インスタンスの状態は失敗に変更されます。
再実行
ノードを再実行できます。ノードが正常に実行されると、未実行の子孫ノードのスケジュールをトリガーできます。これは、エラーが発生したノードや見逃されたノードの処理に多く使用されます。
説明未実行、成功、失敗 のいずれかの状態にあるノードのみ再実行できます。
下流ノードの再実行
ノードおよびその子孫ノードを再実行できます。再実行するノードを選択する必要があります。選択したノードが正常に実行されると、未実行の子孫ノードのスケジュールをトリガーできます。これは、データ修正に多く使用されます。
説明未実行、完了、失敗 のいずれかの状態にあるノードのみ選択できます。他の状態のノードを選択した場合、ページに「選択されたノードには実行条件を満たさないノードが含まれています」というメッセージが表示され、実行を送信できません。
成功に設定
現在のインスタンスの状態を成功に変更し、未実行の子孫ノードの実行をトリガーします。これは、エラーが発生したノードの処理に多く使用されます。
説明[失敗] 状態のノードのみを成功状態に設定できます。ビジネスフローを成功状態に設定することはできません。
再開
ノードが失敗した後に再開できます。この機能は MaxCompute ノードでのみサポートされています。
説明2021 年 1 月以前に購入した専用スケジューリングリソースグループのスペックアップを行うには、まず、「リクエストリンク」をクリックして「Alibaba Cloud ビッグデータ & AI プラットフォーム」コミュニケーショングループに参加する必要があります。次に、以下の QR コードをスキャンして、DataWorks プロダクト DingTalk グループに参加し、販売前および販売後の相談を行ってください。相談については、インテリジェントロボットを直接アットマークするか、当番スタッフの勤務時間中に連絡してください。

緊急操作
現在のインスタンスに対して緊急時に実行する操作です。緊急操作は、ノードの現在の実行に対してのみ有効です。
依存関係の削除 を選択すると、現在のノードの依存関係が削除されます。これは、先祖ノードが失敗し、かつこのインスタンスとデータ上の関係がない場合に多く使用されます。
一時停止(凍結)
定期インスタンスにおける凍結は、現在のインスタンスにのみ適用され、かつ実行中の場合にのみ可能です。凍結された定期インスタンスは自動的に実行されず(実際のデータ処理は行われません)、その子孫ノードの実行もブロックされます(子孫ノードはいずれも自動的にスケジュールされません)。
シナリオ例:ノードを 1 時間ごとに実行するようにスケジュールした場合、1 日に 24 個のインスタンスが生成されます。そのうち 1 時間ごとのインスタンスのうち、実行不要なものが存在する場合、そのインスタンスを凍結できます。1 つの 1 時間ごとのインスタンスを凍結しても、他のインスタンスの実行には影響しません。

再開(凍結解除)
凍結状態のインスタンスを再開(凍結解除)できます。
インスタンスがまだ実行されていない場合、先祖ノードの実行完了後に自動的に実行されます。
すべての先祖ノードが完了済みの場合、ノードの状態は直ちに失敗に設定されます。正常に実行させるには、手動で再実行する必要があります。
説明凍結解除操作は、このインスタンスにのみ影響します。自動トリガーされたタスクが引き続き凍結されている場合、翌日のインスタンスも凍結状態のままとなります。
インスタンスをクリックすると、ページの右下隅にインスタンスの詳細を表示するペインが表示されます。詳細の展開 をクリックすると、インスタンスの詳細を確認できます。以下の図では、定期インスタンスを例として示します。

機能
説明
プロパティ
このタブでは、本番環境におけるタスクのスケジュール設定を確認できます。インターフェイス上の各パラメーターの詳細については、「スケジュール設定」をご参照ください。
ノード ID とインスタンス ID の関係:
1 時間ごとまたは 1 分ごとにスケジュールされるノードの場合、ノード ID を使用して、当日にそのノードに対して生成されたすべての 1 時間ごとまたは 1 分ごとのインスタンスを特定できます。特定の 1 時間ごとまたは 1 分ごとのインスタンスを特定するには、インスタンス ID を使用します。
タスクステータスの理解:タスクステータスはタスクの実行に関連しています。タスクが「未実行」「実行時刻待ち」「リソース待ち」「凍結」などの状態にある場合、実行診断 を使用して、問題を素早く特定できます。
リソース待ち時間:タスクが長時間リソースを待っている場合、実行診断 機能を使用して、現在のタスク実行時にどのタスクがリソースを占有しているかを特定できます。これにより、異常なタスクを素早く特定・トラブルシューティングできます。
実行時間が過剰:タスクの実行時間が過去の実行時間と比較して著しく長い場合、以下のシナリオに応じて対応できます。
同期タスク以外の場合:対応するエンジンのオーナーに相談してください。
オフライン同期タスクの場合:タスクの特定フェーズが遅く実行されている、または長時間リソースを待っている可能性があります。詳細については、「オフライン同期 FAQ」をご参照ください。
ルール監視:現在のインスタンスに関連付けられた監視ルールを確認できます。右側の 作成 をクリックすると、タスクの実行ステータスに対する監視ルールをすばやく作成できます。詳細については、「ルール管理」をご参照ください。
説明ここでは、タスクの実行ステータスを監視するルールの詳細のみ確認できます。Data Quality の監視ルールは確認できません。
ベースライン監視:現在のインスタンスに関連付けられたベースラインを確認できます。右側の 作成 をクリックすると、ベースラインをすばやく作成できます。詳細については、「ベースライン管理」をご参照ください。
運用ログ
タスクの詳細な実行プロセスを確認するために使用します。
操作ログ
タスクまたはインスタンスに対する操作記録(日時、オペレーター、具体的な操作)を確認するために使用します。
コード
本番環境における現在のタスクの最新コードを確認するために使用します。コードが期待通りでない場合は、タスクの最新バージョンが公開されているかを確認してください。詳細については、「タスクの公開」をご参照ください。