オペレーションセンターで提供される有向非巡回グラフ (DAG) を使用すると、ノードまたはインスタンスの依存関係を表示したり、さまざまなディメンションからノードまたはインスタンスを集約したり、ノードの上流または下流のノード、あるいはインスタンスの上流または下流のインスタンスを分析したりできます。これは、O&M 効率の向上に役立ちます。このトピックでは、インスタンスの DAG で提供される機能と、これらの機能を使用して DAG 内のインスタンスを管理する方法について説明します。このトピックでは、自動トリガーインスタンスの DAG を使用します。
制限事項
DAG によって提供される集約、上流分析、および下流分析機能を使用できるのは、DataWorks Professional Edition 以上のエディションのユーザーのみです。 DataWorks のエディションをアップグレードする方法の詳細については、「DataWorks エディションの課金」をご参照ください。
DAG 内のインスタンスの管理
自動トリガーインスタンスの [アクション] 列にある [DAG] をクリックして、インスタンスの DAG を表示します。 DAG では、次の操作を実行できます。
インスタンスの集約
自動トリガーインスタンスに複数の上流または下流のインスタンスがある場合、または上流または下流のインスタンスが複数のレベルに分散している場合は、インスタンスのステータス、ワークスペース、所有者、優先度などのディメンションからインスタンスを集約できます。その後、目的のディメンションからのインスタンスの数を確認できます。これにより、さまざまなディメンションからのインスタンスの数を把握できるようになり、システムがインスタンスを適切に実行するのに役立ちます。次の図は、自動トリガーインスタンスの下流インスタンスが [集約されていない] 場合と [優先度別に集約されている] 場合のインスタンスの分布を示しています。
説明ステータス別にインスタンスを集約できるのは、インスタンスの DAG 内のみです。インスタンスは、自動トリガーインスタンス、データバックフィルインスタンス、またはテストインスタンスです。
次の図は、自動トリガーインスタンスの下流インスタンスが集約されていない場合のインスタンスの分布を示しています。

次の図は、自動トリガーインスタンスの下流インスタンスが優先度別に集約されている場合のインスタンスの分布を示しています。この図は、現在の自動トリガーインスタンスに優先度が 1 の下流インスタンスが 6 個あることを示しています。

上流インスタンスの分析
ほとんどの場合、自動トリガーインスタンスには依存関係があります。自動トリガーインスタンスが長時間実行されていない場合は、インスタンスの上流インスタンスを分析できます。インスタンスの DAG で、インスタンスの実行をブロックしている上流インスタンスを表示し、効率的な方法で問題のトラブルシューティングを行うことができます。これにより、インスタンスの実行効率が向上します。
説明上流分析機能を使用できるのは、インスタンスの DAG 内のみです。インスタンスは、自動トリガーインスタンス、データバックフィルインスタンス、またはテストインスタンスです。
[上流インスタンスの分析] は、実行されていない自動トリガーインスタンスに対してのみ実行できます。 DAG には最大 6 レベルのインスタンスを表示できます。さらに多くのレベルのインスタンスを表示する場合は、左上隅にある [分析を続行] をクリックします。
上流分析機能を使用すると、正常に実行されず、現在のインスタンスの実行をブロックしている上流インスタンスをすばやく見つけることができます。上流インスタンスが正常に実行されていない場合、実行中、失敗、保留中 (スケジュール)、保留中 (リソース)、およびフリーズのいずれかの状態になっている可能性があります。
次の図は、自動トリガーインスタンスの上流インスタンスを分析する方法を示しています。たとえば、図のインスタンスは長時間実行されていません。この場合、インスタンスをクリックし、インスタンスの DAG の左上隅にある [上流分析] をクリックして、インスタンスの上流インスタンスを分析できます。
分析結果によると、インスタンスの実行をブロックしている上流インスタンスは old_work_rootインスタンスです。分析結果に基づいて、2 つのインスタンスをすばやく見つけて問題のトラブルシューティングを行うことができます。説明インスタンスの実行をブロックしている上流インスタンスを見つけたら、次の操作を実行できます。
DAG に表示されているインスタンスの上流インスタンスを集約し、上流インスタンスが属するワークスペースまたは上流インスタンスの所有者を表示できます。これは、O&M 効率の向上に役立ちます。
上流インスタンスを右クリックし、[インスタンス診断] を選択して、上流インスタンスが実行に失敗した理由を分析できます。詳細については、「インテリジェント診断」をご参照ください。
下流インスタンスの分析
インスタンスの DAG を開くと、デフォルトでは、現在のインスタンスとその直近の上流および下流のインスタンスのみが表示されます。自動トリガーインスタンスに複数の下流インスタンスがある場合、または自動トリガーインスタンスの下流インスタンスが複数のレベルに分散している場合は、現在のインスタンスの影響を受けるすべての下流インスタンスが表示されるわけではありません。下流インスタンスをステータス、ワークスペース、所有者、または優先度別に集約した後、自動トリガーインスタンスの下流インスタンスを分析できます。その後、各レベルのインスタンスの数、または目的のディメンションからのすべてのレベルのインスタンスの合計数を確認できます。
説明下流インスタンスが集約された状態で、マージ方法またはレベル別に分析結果を表示する: インスタンスの DAG で [下流分析] をクリックすると、システムはデフォルトで所有者別にインスタンスの下流インスタンスを集約し、マージ方法またはレベル別に所有者ディメンションからのインスタンスの合計数を表示します。
下流インスタンスが集約されていない状態で、グループ別に分析結果を表示する: インスタンスの下流インスタンスが集約されておらず、インスタンスに 10 を超える下流インスタンスがある場合、インスタンスの DAG で [下流分析] をクリックすると、システムはデフォルトでグループ別に下流分析結果を表示します。これにより、インスタンスの影響を受ける下流インスタンスを明確に表示できます。
下流インスタンスがグループ化解除された状態で分析結果を表示する: インスタンスの下流インスタンスが集約されていないがグループ化されている場合は、インスタンスの DAG で [グループ解除] アイコンをクリックして、下流インスタンスのグループ化を解除できます。その後、各インスタンスの依存関係を表示できます。
インスタンスの [下流インスタンスを分析] し、[レベル] 別に分析結果を表示するようにシステムを有効にした場合、最大 6 レベルのインスタンスを表示できます。さらに多くのレベルの下流インスタンスを表示する場合は、インスタンスの DAG の左上隅にある [分析を続行] をクリックします。
次の例では、[tag] インスタンスの [下流インスタンス] が分析されます。次の図は、さまざまな方法で表示された分析結果を示しています。
マージ方法を使用して分析結果を表示する: システムは、指定したディメンションからマージ方法を使用して、tag インスタンスの下流インスタンスを表示します。下流インスタンスが集約されていない場合、下流インスタンスはグループ別に表示されます。次の図は、tag インスタンスの下流インスタンスが [ワークスペース別に集約] され、[マージ] 方法を使用して表示された後に得られた分析結果を示しています。図では、tag インスタンスのすべての下流インスタンスが同じレベルに配置され、さまざまなワークスペースに属する下流インスタンスの数が表示されています。

レベル別に分析結果を表示する: システムは、指定したディメンションからレベル別に tag インスタンスの下流インスタンスを表示します。次の図は、tag インスタンスの下流インスタンスが [ワークスペース別に集約] され、[レベル] 別に表示された後に得られた分析結果を示しています。図では、さまざまなワークスペースに属する下流インスタンスの数がさまざまなレベルで表示されています。

DAG の表示パターンを調整して、さまざまなパターンでインスタンスを表示する
ビジネス要件に基づいて DAG の表示パターンを調整するには、DAG の右上隅にあるアイコンをクリックします。たとえば、[全画面表示に切り替える] アイコンまたは [画面に合わせる] アイコンをクリックして操作を実行できます。
次の例では、インスタンスの下流インスタンスが [グループ化解除] された後、または [グループ化] された後に、インスタンスの DAG が表示されます。
次の図は、インスタンスの下流インスタンスが [グループ化解除] されている場合のインスタンスの DAG を示しています。このパターンでは、すべてのインスタンスの依存関係を明確に表示できます。

次の図は、インスタンスの下流インスタンスが [グループ化] されている場合のインスタンスの DAG を示しています。このパターンでは、インスタンスの 5 つごとの下流インスタンスが同じレベルに配置されます。これにより、下流インスタンスが順番に表示され、下流インスタンスの合計数をすばやく取得できます。

DAG 内のインスタンスの依存関係を表示し、インスタンスに対して操作を実行する。インスタンスの DAG には、インスタンスの依存関係が表示されます。実線は同一サイクルの依存関係を表し、破線はクロスサイクルの依存関係を表します。 DAG 内のインスタンスを右クリックして、インスタンスに対して目的の操作を実行できます。次の図は、DAG 内の自動トリガーインスタンスに対して実行できる操作を示しています。

操作
説明
[上流ノードの表示] または [下流ノードの表示]
インスタンスの上流または下流のインスタンスを表示します。ワークフローに 3 つ以上のインスタンスが含まれている場合、特定のインスタンスはオペレーションセンターの DAG で自動的に非表示になります。 1 つ以上のレベルで特定のインスタンスを表示するレベルの数を選択できます。
[ランタイムログの表示]
実行中、成功、失敗などの状態のインスタンスの実行ログを表示します。
説明共有スケジューリングリソースグループで実行されるインスタンスは 1 か月間保持され、インスタンスのログは 1 週間保持されます。
専用スケジューリングリソースグループで実行されるインスタンスは 1 か月間保持され、インスタンスのログも 1 か月間保持されます。
[インスタンス診断]
インスタンスのステータスを追跡し、問題を特定します。詳細については、「インテリジェント診断」をご参照ください。
[コードの表示]
インスタンスのコードを表示します。
[ノードの編集]
DataStudio ページに移動して、現在のインスタンスを変更します。
[リネージの表示]
インスタンスのリネージを表示します。
[詳細]
[全般]、[コンテキスト]、[ランタイムログ]、[操作ログ]、および [コード] タブでインスタンスの詳細情報を表示します。
[停止]
インスタンスを停止します。保留中または実行中状態のインスタンスのみを停止できます。インスタンスが停止すると、インスタンスは失敗状態になります。
[再実行]
インスタンスを再実行します。インスタンスが再実行されると、保留中の下流インスタンスはスケジュールどおりに実行されます。実行に失敗したインスタンス、またはスケジュールどおりに実行されなかったインスタンスを再実行できます。
説明[実行されていない]、[成功]、または [失敗] 状態のインスタンスのみを再実行できます。
[下流ノードの再実行]
インスタンスとその下流インスタンスを再実行します。再実行するインスタンスを選択する必要があります。再実行されると、保留中の下流インスタンスはスケジュールどおりに実行されます。この操作を実行してデータを回復できます。
説明[実行されていない]、[成功]、または [失敗] 状態のインスタンスのみを選択できます。その他の状態のインスタンスについては、[再実行条件を満たす] 列に [いいえ] の値が表示され、これらのインスタンスを選択することはできません。
[ステータスを成功に設定]
インスタンスの状態を [成功] に設定し、実行されていない下流インスタンスを実行します。インスタンスが実行に失敗した場合に、この操作を実行できます。
説明[失敗した] インスタンスの状態のみを [成功] に設定できます。この操作はワークフローには適用されません。
[再開]
インスタンスが失敗した場合に、インスタンスの実行を続行します。この操作は、MaxCompute コンピュートエンジンインスタンスを使用して実行されるインスタンスに対してのみ実行できます。
説明インスタンスが 2021 年 1 月より前に購入した専用スケジューリングリソースグループで実行されており、リソースグループをアップグレードする場合、次の操作を実行します。 申請リンクをクリックするか、以下の QR コードをスキャンして DataWorks DingTalk 交流グループに参加して、プリセールスおよびアフターサービスの相談を行ってください。相談は、インテリジェントロボットに直接 @ で行うことができます。勤務時間帯は、勤務中の担当者に直接連絡することもできます。DataWorks DingTalk 交流グループの QR コードは次のとおりです。

[緊急操作]
緊急シナリオで緊急操作を実行します。操作は、現在のインスタンスに対して 1 回だけ有効になります。
[依存関係の削除] を選択して、現在のインスタンスの依存関係を削除します。現在のインスタンスの上流インスタンスが失敗し、現在のインスタンスが上流インスタンスのデータに依存していない場合に、この操作を実行して現在のインスタンスを開始できます。
[フリーズ]
インスタンスが実行中状態の場合は、インスタンスをフリーズします。インスタンスに対してこの操作を実行すると、操作はインスタンスに対してのみ有効になります。フリーズされた自動トリガーインスタンスは、予期したとおりにスケジュールすることはできず、データを生成しません。自動トリガーインスタンスがフリーズされると、その下流インスタンスは予期したとおりにスケジュールまたは実行できません。
シナリオ例: ノードが 1 時間ごとに実行されるようにスケジュールされている場合、現在の日にノードに対して 24 個のインスタンスが生成されます。 24 個のインスタンスのうちの 1 つを実行したくない場合は、インスタンスをフリーズできます。フリーズするインスタンスは、実行されるようにスケジュールされている他のインスタンスには影響しません。
[フリーズ解除]
インスタンスがフリーズされている場合は、インスタンスのフリーズを解除します。
インスタンスが実行されていない場合は、上流インスタンスが正常に実行された後に自動的に実行されます。
インスタンスの上流インスタンスが正常に実行された場合、インスタンスは失敗状態になります。インスタンスを手動で再実行する必要があります。
説明フリーズ解除操作は、現在のインスタンスに対してのみ有効になります。インスタンスを生成するノードがフリーズされている場合、翌日実行されるようにスケジュールされているインスタンスもフリーズされます。
DAG 内のインスタンスをクリックします。インスタンスに関する基本情報を表示するダイアログボックスが、DAG の右下に表示されます。ダイアログボックスの [詳細の表示] をクリックして、インスタンスの詳細を表示します。次の図は、自動トリガーインスタンスに関する基本情報と詳細を示しています。

タブ
説明
[全般]
このタブでは、本番環境でインスタンスが生成されるノードのスケジューリングプロパティを表示できます。基本プロパティの詳細については、「基本プロパティの設定」をご参照ください。
ノード ID とインスタンス ID の関係:
時間または分単位でスケジュールされた自動トリガーノードに対して現在生成されているすべてのインスタンスを検索する場合は、ノードの ID に基づいて検索を実行できます。時間または分単位でスケジュールされた自動トリガーノードに対して現在生成されている特定のインスタンスを検索する場合は、インスタンスの ID に基づいて検索を実行できます。
インスタンスステータスの解釈: インスタンスが保留中 (上流)、保留中 (スケジュール)、保留中 (リソース)、またはフリーズ状態の場合は、[インテリジェント診断] 機能を使用して問題をすばやくトラブルシューティングできます。
リソースの待機に費やされた時間: インスタンスが長時間保留中 (リソース) 状態の場合は、[インテリジェント診断] 機能を使用して、現在のインスタンスとリソースを競合しているインスタンスを特定できます。その後、トラブルシューティングのために例外が発生しているインスタンスをすばやく特定できます。
実行時間の延長: インスタンスの実行時間が一定期間の平均実行時間よりもはるかに長い場合は、インスタンスを生成するノードのタイプに基づいて問題のトラブルシューティングを行うことができます。
インスタンスがデータ同期ノードに対して生成されていない場合は、インスタンスが実行されているコンピューティングエンジンインスタンスの所有者に相談できます。
インスタンスがバッチ同期ノードに対して生成された場合、特定のフェーズでインスタンスの実行速度が遅くなったり、インスタンスが長時間保留中 (リソース) 状態になったりする可能性があります。詳細については、「バッチ同期タスクが長時間実行されている場合の対処方法」をご参照ください。
アラートルール: [全般] タブで、インスタンスが生成されるノードに関連付けられているアラートルールに関する情報を表示できます。 [作成] をクリックして、インスタンスが生成されるノードのステータスを監視するアラートルールを作成できます。詳細については、「カスタムアラートルールの作成」をご参照ください。
説明[全般] タブには、インスタンスが生成されるノードに関連付けられているアラートルールに関する情報のみが表示されます。インスタンスが生成されるノードのデータ品質を監視するために使用される監視ルールに関する情報は、[全般] タブには表示されません。
ベースライン: [全般] タブで、インスタンスが生成されるノードが関連付けられているベースラインに関する情報を表示できます。このタブで [作成] をクリックして、ベースラインを作成できます。詳細については、「ベースラインの管理」をご参照ください。
[ランタイムログ]
このタブでは、インスタンスに関する実行時の詳細を表示できます。
[操作ログ]
このタブでは、操作時刻、オペレーター、特定の操作など、インスタンスの操作レコードを表示できます。
[コード]
このタブでは、本番環境でインスタンスが生成されるノードの最新のコードを表示できます。ノードのコードが期待どおりでない場合は、ノードの最新のコードが本番環境に正常にデプロイされているかどうかを確認する必要があります。詳細については、「ノードのデプロイ」をご参照ください。