ノードに同サイクルのスケジュール依存関係が構成されている場合、現在のサイクルでノードに対して生成されたインスタンスは、同じスケジュール サイクルで別のノードに対して生成されたインスタンスのデータに依存します。 現在のノードは、別のノードに対して生成されたインスタンスが正常に実行された後にのみ、期待どおりに実行できます。 現在のノードが同じスケジュール サイクル内の別のノードによって生成されたテーブル内のデータに依存する必要がある場合は、現在のノードに同サイクルのスケジュール依存関係を構成できます。 DataWorks では、さまざまなメソッドを使用して同サイクルのスケジュール依存関係を構成でき、依存関係プレビュー機能を提供しています。 ノードが期待どおりにスケジュールされるように、誤ったスケジュール依存関係をできるだけ早く表示して調整できます。 このトピックでは、同サイクルのスケジュール依存関係を構成するための注意事項、ロジック、および方法について説明します。
注意事項
スケジュール依存関係をスムーズに構成するには、「スケジュール設定の構成」トピックに記載されている情報を理解する必要があります。
ノードの有向非循環グラフ(DAG)では、ノードの同サイクル スケジュール依存関係は、実線として表示されます。
ノード間の同サイクル スケジュール依存関係が特定の複雑なシナリオでの要件を満たせない場合は、ノード間にサイクル間スケジュール依存関係を構成できます。 たとえば、日単位でスケジュールされたノードが時間単位でスケジュールされたノードに依存する場合、日単位でスケジュールされたノードに対して生成されたインスタンスは、デフォルトで、現在の日に時間単位でスケジュールされたノードに対して生成されたすべてのインスタンスに依存します。 時間単位でスケジュールされたノードに自己依存関係を構成すると、日単位でスケジュールされたノードが特定のスケジュール サイクルで時間単位でスケジュールされたノードに対して生成されたインスタンスに依存するように指定できます。 複雑な依存関係シナリオでのスケジュール依存関係の構成方法については、「複雑な依存関係シナリオでのスケジュール構成の原則とサンプル」をご参照ください。
構成の原則
ノードの開発効率を向上させるために、自動解析機能を使用して、ノードのスケジュール依存関係をすばやく構成することをお勧めします。 開発プロセス中は、次の原則に従う必要があります。
ノードの作成: ノードの出力テーブルの名前と同じノード名を指定することをお勧めします。
コード開発: 複数のノードを使用して同じテーブルにデータを書き込まないでください。
依存関係の構成: ノードによって生成されたテーブルをノードの出力として使用することをお勧めします。
構成のエントリ ポイントと説明
Data Studio で作成したノードの構成タブに移動し、右側のナビゲーション ウィンドウの [プロパティ] タブをクリックして、[スケジュール依存関係] セクションの [プロパティ] タブでノードのスケジュール依存関係を構成できます。
ノードに同サイクルのスケジュール依存関係を構成する場合は、[ノードの依存関係] セクションで現在のノードが依存する必要があるノードを指定し、[ノードの出力] セクションで現在のノードの出力に基づいて現在のノードに依存する必要がある他のノードを指定する必要があります。
デフォルトでは、ノード コードでデータを読み取るテーブルとデータを書き込むテーブル間のリネージに基づいて、ノードのスケジュール依存関係を構成できます。 ノードをコミットすると、DataWorks はスケジュール依存関係が期待どおりに構成されているかどうかを確認します。 ビジネス要件に基づいて、目的のノードをコミットする前にコードの自動解析を実行するかどうかを指定できます。
DataWorks は、ノードのコードのリネージに基づく構成、ワークフローの構成タブに線を描画することによる構成、手動構成など、複数の構成方法をサポートしています。 ビジネス要件に基づいて構成方法を選択できます。
現在のサイクルでノードに対して生成されたインスタンスが前の日に生成された別のノードのインスタンスのデータに依存する必要がある場合、または現在のサイクルで時間または分単位でスケジュールされたノードに対して生成されたインスタンスが前のサイクルで同じノードに対して生成されたインスタンスに依存する必要がある場合は、サイクル間スケジュール依存関係を構成できます。


先祖ノード
現在のノードが依存するノードを指定できます。 ノードが指定されると、現在のノードは先祖ノードが正常に実行された後にのみ実行を開始できます。 先祖ノードの出力を現在のノードの入力として入力する必要があります。 現在のノードが依存するノードを指定する場合は、次の項目に注意してください。
すべてのノードの先祖ノードを構成する必要があります。 テーブル リネージに基づいてノードの先祖ノードを構成することをお勧めします。 テーブル リネージが存在しない場合は、ビジネス要件に基づいて、ワークスペースのルート ノードまたはゼロ ロード ノードを現在のノードの先祖ノードとして選択できます。
先祖ノードがコミットされていることを確認します。 現在のノードをコミットするときに先祖ノードの出力が存在しないことを示すエラーが報告された場合は、先祖ノードがコミットされているかどうかを確認します。
構成方法:
方法 1: ノードのコードのリネージに基づいてスケジュール依存関係を構成する
DataWorks は、コード解析結果に基づいて projectName.tableName 形式で出力テーブルの名前を生成します。 システムは、出力テーブルの名前に基づいて、現在のノードが依存する必要があるノードを検索して推奨します。

方法 2: ノードのスケジュール依存関係を手動で追加する
[スケジュール依存関係] セクションで、[依存関係の追加] をクリックします。 表示されるフォームで、依存関係タイプを選択し、[ノード名]、[出力名]、または [スケジュール タスク ID] でノードを検索し、現在のノードの先祖ノードとしてノードを追加します。

ノードのコード解析結果から取得したスケジュール依存関係を使用する場合は、推奨ノードがコミットされ、本番環境にデプロイされ、目的のテーブルが生成されていることを確認してください。 推奨ノードは前日にスケジュール システムにコミットする必要があります。 これにより、現在の日にデータが生成された後、自動推奨機能によってノードを識別できます。 したがって、自動的に推奨されるノードは 1 日の遅延で更新されます。
現在のノードの出力
現在のノードと他のノード間のスケジュール依存関係を確立するために、ノードの出力を構成できます。 他のノードは、現在のノードの出力名を検索することで現在のノードを見つけ、スケジュール依存関係の構成に基づいて、現在のノードがノードの先祖ノードとして指定されます。 現在のノードが子孫ノードの先祖ノードとして構成されている場合、現在のノードの出力の名前には、子孫ノードがコミットされた後の子孫ノードの名前が含まれます。 DataWorks では、現在のノードの [ノードの出力] セクションで子孫ノードを手動で変更することはできません。 次の図は、現在のノードの出力を指定するすべての方法を示しています。
DataWorks では、ノードに対して生成される出力の名前はノードの名前と同じです。 ワークスペースに同じ名前のノードが含まれている場合、出力名が重複しているため、ノードのコミットに失敗する可能性があります。 子孫ノードを持つノードの出力を削除すると、深刻な影響が生じる可能性があります。 詳細については、このトピックの 付録 1: ノードの出力の削除または変更の影響 セクションをご参照ください。
方法 1: デフォルトのノード出力を使用する
デフォルトでは、DataWorks はノードの出力を生成します。 [アクション] 列の [変更] をクリックして、出力テーブルの名前を変更できます。

ノードのデフォルトの出力名はグローバルに一意であり、変更または削除することはできません。 ワークフローの構成タブに線を描画してワークフロー内のノード間のスケジュール依存関係を構成すると、DataWorks は出力テーブル名と出力名を子孫ノードの入力として自動的に生成します。
方法 2: ノードの出力を手動で追加する
[ノードの出力] セクションで、[出力の追加] をクリックします。 表示される行で、現在のノードの出力を手動で追加し、出力名と出力テーブル名を構成します。

ワークスペース名.カスタム出力名 形式で出力名を構成する必要があります。 出力名はグローバルに一意である必要があります。
構成ロジック
ノード間のスケジュール依存関係を構成するには、ノードの出力を別のノードの入力として使用します。 これにより、ノード間のスケジュール依存関係が形成されます。 データを読み取るテーブルとデータを書き込むテーブル間のリネージに基づいて、ノード間のスケジュール依存関係を構成することをお勧めします。 スケジュール依存関係が構成されると、子孫ノードは先祖ノードが正常に実行された後にのみ実行を開始できます。 スケジュール依存関係により、ノードは実行に必要なデータを先祖ノードから取得できます。
次の表に示す方法を使用して、ノード間のスケジュール依存関係を構成できます。 構成ロジックは、3 つの方法で同じです。
構成方法 | 説明 |
DataWorks は、先祖ノードのデフォルトの出力を子孫ノードの入力として自動的に追加します。 | |
ほとんどの場合、自動解析機能を使用して取得したスケジュール依存関係がビジネス要件を満たしていない場合は、この方法を使用してノードのスケジュール依存関係を変更できます。 | |
テーブル リネージに基づいて、ノード間のスケジュール依存関係を構成できます。 この機能は、ノード コードに基づいてテーブル リネージを自動的に解析し、ノード間のスケジュール依存関係をすばやく構成できるようにします。 |
構成方法
ワークフローの構成タブに線を描画してノードを接続し、ノード間のスケジュール依存関係を確立する
[スケジュール依存関係] セクションでノードの先祖ノードを手動で追加する
自動解析機能を使用して、テーブル リネージに基づいてノード間のスケジュール依存関係を構成する
後続の手順: スケジュール依存関係が期待どおりかどうかの確認
スケジュール依存関係を構成した後、次の操作を実行して、ノードが期待どおりにスケジュールされていることを確認できます。
ノードのコミット: ノードをコミットするときに、ノード間のスケジュール依存関係の変更が期待どおりかどうかを確認します。
オペレーションセンターでノード間のスケジュール依存関係を確認する: ノードをデプロイした後、本番環境で自動トリガーされるノード間のスケジュール依存関係がオペレーションセンターで期待どおりかどうかを確認します。 本番環境で自動トリガーされるノードは、最新ステータスのノードです。 ノードに対して生成されたインスタンス間のスケジュール依存関係は、[インスタンス生成モード] パラメーターに関連しています。

