すべてのプロダクト
Search
ドキュメントセンター

DataWorks:定期スケジューリングにおける特殊なシナリオ

最終更新日:Aug 21, 2026

定期スケジューリングでは、ノード依存関係のループやノードの孤立といった特殊なケースが発生することがあります。どちらもタスクスケジューリングに支障をきたす可能性があります。このトピックでは、これらのシナリオについて説明し、その解決策を解説します。

シナリオ 1:ノード依存関係のループ

ノード依存関係のループの原因と解決策

ノード依存関係のループは、先祖ノードが自身の子孫ノードの 1 つに依存し、循環依存を形成するときに発生します。ビジネスワークフローを分析し、速やかに循環依存を解消する必要があります。

たとえば、子孫ノードが前のサイクルの先祖ノードによって生成されたテーブルデータに依存し、処理結果を同じテーブルに書き戻す場合があります。子孫ノードが前のサイクルではなく現在のサイクルの先祖ノードに依存するように設定されている場合、ノード依存関係のループが形成されます。ビジネスロジックを明確にした後、子孫ノードが先祖ノードの前のサイクルに依存するように再設定します。

  • 例:次のシナリオでは、ノード A がテーブル C を読み取り、テーブル A にデータを出力します。子孫ノードであるノード B は、テーブル A のデータをクレンジングし、テーブル B に書き込みます。その後、ノード C はテーブル B のデータをクレンジングし、テーブル C に書き戻します。このプロセスにより依存関係のループが形成され、DataWorks によって自動的に検出されます。

  • 解決策:ビジネスワークフローを分析し、循環依存を解消します。この例では、子孫ノードが前のサイクルの先祖ノードのデータを処理する必要がある場合、ノード A が前のサイクルのノード C に依存するクロスサイクル依存を設定します。

image

ノード依存関係のループのモニタリングとアラート

自動トリガータスクが自動トリガーインスタンスを生成して自動的に実行されるように、DataWorks は組み込みのアラートルールを使用して定期的に問題をスキャンします。ノード依存関係のループが検出されると、DataWorks は自動的にアラートを送信します。このようなアラートを受信した場合は、速やかに問題を解決してください。

説明
  • DataWorks は毎日 09:00、12:00、16:00、20:00、22:00 に自動トリガータスクのステータスをスキャンします。DataWorks が問題を検出すると、自動的にアラートが送信されます。スキャンの 10 分前以内に発生した問題は現在のスキャンには含まれず、次のスキャンで検出されます。

  • ノード依存関係のループのアラートは組み込みアラートルールであり、手動で作成する必要はありません。デフォルトでは、DataWorks は SMS とメールでノードの所有者にアラートを送信します。ただし、ルール管理 ページでグローバルルールのアラート受信者を変更できます。詳細については、「ルール管理」をご参照ください。

シナリオ 2:ノードの孤立

ノードの孤立

ノードの孤立は、定期タスク または 定期インスタンス で依存関係を展開したときに、ノードに先祖ノードがない場合に発生します。このタイプのノードはスケジューリングシステムによってトリガーされず、実行されません。孤立したノードに多数の子孫ノードがある場合、その影響は深刻になる可能性があります。ノードの孤立が発生すると、DataWorks は自動的にアラートを送信します。このようなアラートを受信した場合は、速やかに問題を解決してください。

説明

DataWorks では、ワークスペースルートノードを除くすべてのカスタム自動トリガータスクは、正常にスケジューリングされて実行されるには、先祖ノードに依存する必要があります。

ノードの孤立の解決

シナリオ

説明

解決策

先祖ノードと子孫ノード間のインスタンス生成モードの不一致。

先祖ノードと子孫ノードが両方とも新しい場合、先祖ノードのインスタンス生成モードが [翌日] (T+1) で、子孫ノードのモードが [デプロイ直後] であると、子孫ノードがこの先祖ノードにのみ依存している場合に孤立します。これは、先祖ノードが当日にインスタンスを生成しないため、子孫ノードが実行するための依存関係がなくなるためです。

先祖ノードのインスタンス生成モードを調整し、再デプロイします。このシナリオの詳細については、「上流タスクと下流タスク間のインスタンス生成モードの不一致」をご参照ください。

先祖ノードが有効期間外である。

DataWorks では、有効期間外のノードはインスタンスを生成しません。子孫ノードが有効期間外の先祖ノードにのみ依存している場合、子孫ノードは孤立します。

先祖ノードのスケジューリング設定ページに移動し、その [有効期間] を変更します。

先祖ノードの出力が変更された。

先祖ノードのビジネスロジックの変更により、その出力が変わり、下流の依存関係が解決できなくなる可能性があります。子孫ノードがこの先祖ノードにのみ依存している場合、孤立します。

子孫ノードのノード依存関係を再設定します。

クロスワークスペース依存のスケジューリングが無効になっている。

ノードが先祖ノードへのクロスワークスペース依存を持ち、先祖ノードのワークスペースでスケジューリングが無効になっている場合、他に依存関係がなければそのノードは孤立します。

ワークスペースの所有者に連絡してスケジューリングを有効にするか、クロスワークスペース依存を削除します。

中間タスクが指定されたデータバックフィルの範囲外である。

データバックフィルを実行する際に、依存関係チェーン内の中間タスク (先祖と子孫の両方を持つタスク) がバックフィルの期間に含まれていない場合、それに依存する子孫ノードが孤立することがあります。

例:

  • タスク A と C は 1 時間に 1 回実行される時間単位のタスクです。タスク B は 02:00 に実行される日単位のタスクです。

  • タスク C はタスク B に依存し、タスク B はタスク A に依存します。

タスク A と C のデータを 00:00–01:00 の期間でバックフィルすると、タスク B のスケジュール時刻はこの範囲外になります。その結果、タスク B のインスタンスは生成されず、その子孫であるタスク C が孤立します。

中間タスクを同じ期間のデータバックフィルに含めます。詳細については、「データバックフィルを実行する」をご参照ください。

この例では、タスク B のデータもバックフィルする必要があります。

ノードの孤立のモニタリングとアラート

毎晩、DataWorks は 定期タスク に基づいて翌日の 定期インスタンス を生成します。これらのインスタンスが正常に生成され、実行されるように、DataWorks は組み込みアラートルールを使用して問題をスキャンします。ノードの孤立が検出されると、DataWorks は自動的にアラートを送信します。このようなアラートを受信した場合は、速やかに問題を解決してください。

  • DataWorks は毎日 09:00、12:00、16:00、20:00、22:00 に自動トリガータスクのステータスをスキャンします。DataWorks が問題を検出すると、自動的にアラートが送信されます。スキャンの 10 分前以内に発生した問題は現在のスキャンには含まれず、次のスキャンで検出されます。

  • ノードの孤立のアラートは組み込みアラートルールであり、手動で作成する必要はありません。デフォルトでは、DataWorks は SMS とメールでノードの所有者にアラートを送信します。ただし、ルール管理 ページでグローバルルールのアラート受信者を変更できます。詳細については、「ルール管理」をご参照ください。

孤立ノードの特定

オペレーションセンター に移動します。運用保守ダッシュボード ページで、ハイライト セクションを確認して、孤立ノードの数と詳細を確認します。