スケジューリングの依存関係は、ディメンション論理テーブルおよびファクト論理テーブルのタスクの実行順序を定義します。Dataphin はこれらの依存関係を使用して、ビジネスワークフロー内のノードを順番に実行し、ビジネスデータが正しく、かつ期限どおりに生成されるようにします。
手順
Dataphin ホームページのトップナビゲーションバーで、[開発] > [データ開発] を選択します。
[データ開発] ページで、上部のナビゲーションバーから プロジェクト を選択します。Dev-Prod モードを使用している場合は、環境 も選択する必要があります。
左側のナビゲーションペインで、[標準化モデリング] > [ディメンション論理テーブル] または [ファクト論理テーブル] を選択します。 [論理テーブル] リストで、対象の論理テーブルの名前をクリックします。
「論理テーブル」タブで、上部のメニューバーの[スケジューリング設定]をクリックして、[スケジューリング設定] パネルを開きます。
[スケジューリングプロパティ] セクションで、論理テーブルの上流依存関係を設定します。
[上流の依存関係]
[自動解析]
上流依存関係を設定するには、[自動解析] をクリックします。Dataphin は、テーブルのコンピューティングロジックを自動的に解析して、上流タスクと出力テーブルを特定します。解析後、Dataphin は検出されたすべての依存関係を上流依存関係リストに追加します。その後、解析された依存関係を表示、編集、または削除できます。
説明自動解析された入力テーブルが複数の出力タスクに関連付けられている場合、Dataphin は既定でそのすべてを上流の依存関係として設定します。
解析されたすべての依存関係について、[依存期間] は既定で [current period] に設定されます。
ルートノードの追加
タスクに上流の依存関係がない場合、[ルートノードの追加] をクリックして、システムの仮想ルートノードを依存関係として追加できます。
説明システムは、各テナントまたは企業に対して仮想ルートノードを初期化します。その名前は
virtual_root_nodeで始まります。現在のノードの前周期の追加
これにより自己依存が作成されます。つまり、タスクの現在の実行は、前周期 (例:前日、または前 n 時間) の正常完了に依存します。
依存関係の追加
[自動解析] がスケジューリングの依存関係を解決できない場合、または [自動解析] によって生成された上流の依存関係設定が実際のアプリケーションと一致しない場合は、手動で [+依存関係の追加] をクリックしてノードの上流の依存関係を追加できます。
依存関係の追加 - 物理ノード
ノードリストから 1 つ以上の物理ノードを選択できます。[Current Project]、[project]、[node type]、[node name]、または [output table name] で、目的のノードを検索およびフィルタリングすることもできます。
依存関係の追加 - 論理テーブルノード
ノードリストから 1 つ以上の論理テーブルノードを選択できます。[logical table type]、[business category]、および [logical table name] で、目的のノードを検索およびフィルタリングすることもできます。
論理テーブル全体ではなく、特定のフィールドに依存する必要がある場合は、[依存フィールド] 列の
をクリックして、目的のフィールドを表示して選択します。依存関係の追加 - クロステナントノード
ノードリストから 1 つ以上のクロステナントノードを選択できます。[テナント]、[node type]、または [node name] で、目的のノードを検索およびフィルタリングすることもできます。
依存関係を追加すると、[依存期間] と [依存ポリシー] は推奨値に自動的に設定されます。これらの設定を変更するには、依存関係リストの
アイコンをクリックして、個々の依存関係の [依存期間] と [依存ポリシー] を編集します。[依存期間]:上流タスクインスタンスのスケジュール開始時刻 (トリガー時刻) の時間範囲です。通常は当日であり、時間範囲 [00:00, 24:00) に対応します。
依存関係ポリシー: 依存関係期間内に複数のインスタンスが存在する場合、依存関係ポリシーを指定する必要があります。 また、上流タスクに必要なステータスとして [成功]、[失敗]、または [完了 (成功または失敗)] を選択する必要もあります。 デフォルトは 成功 です。 周期をまたぐ依存関係のデフォルトポリシーについては、「付録: デフォルトの周期をまたぐ依存関係ポリシー」をご参照ください。
重要インスタンスが 1 つのみの場合は、依存ポリシーを任意のオプションに設定できます。上流タスクのスケジューリング設定が変更される可能性との互換性を確保するため、相対パスのポリシーのみがサポートされます。
成功:下流タスクは、上流タスクが成功した後にのみ実行できます。上流タスクが失敗した場合、下流タスクは実行されません。
失敗:下流タスクは、上流タスクが最終的に失敗した後 (最後の自動再試行後) にのみ実行できます。上流タスクが成功した場合、下流タスクは実行されません。
完了 (成功または失敗):下流タスクは、上流タスクが成功した後、または最終的に失敗した後 (最後の自動再試行後) に実行できます。
このノードの出力
システムはノードの出力名を自動的に生成します。複数の出力名を追加するには、[出力名を自動生成] をクリックします。
重要システムは出力名を使用して、スケジューリングの依存関係グラフを構築します。システムが出力名を自動生成するため、手動での介入は推奨しません。
[OK] をクリックして、スケジューリングの依存関係の設定を完了します。
付録:クロスサイクルの依存関係の既定ポリシー
[現在のノードサイクル] | [上流ノード] | [上流ノードサイクル] | [上流の自己依存] | [デフォルトの依存期間] |
月 | 現在のノード (自己依存) | - | 前のサイクル (前月) | |
週 | 現在のノード (自己依存) | - | 前のサイクル (前週) | |
日 | 現在のノード (自己依存) | - | 前のサイクル (前日) | |
時 | 現在のノード (自己依存) | - | 過去 24 時間 | |
分 | 現在のノード (自己依存) | - | 過去 24 時間 | |
日/週/月 | 別のノード | 日 | 現在の期間 (当日) | |
日/週/月 | 別のノード | 時/分 | なし | 現在の期間 (当日) |
日/週/月 | 別のノード | 時/分 | あり | 現在の期間 (当日) |
月/週/日/時/分 | 別のノード | 月/週 | あり | 現在の期間 (当日) |
月/週/日/時/分 | 別のノード | 月 | なし | 現在の期間 (当日) |
月/週/日/時/分 | 別のノード | 週 | なし | 現在の期間 (当日) |
時/分 | 別のノード | 日 | 現在の期間 (当日) | |
時/分 | 別のノード | 時/分 | 現在の期間 (当日) |