このトピックでは、ノードの実行・保守方法、およびログに基づいてエラーをトラブルシューティングする方法について説明します。
バッチ同期ノード write_result の定期実行と依存関係の設定をする際に、毎週火曜日の 2 時に実行するようにバッチ同期ノードを構成済みである必要があります。 このノードをコミットした後、このノードの自動実行結果を表示するには、翌日まで待つ必要があります。
DataWorks では、テスト実行モード、遡及実行モード、定期実行モードでノードを実行できます。 これにより、各ノードインスタンスの実行時間、ノードインスタンス間の依存関係、および生成されたデータが期待どおりであるかを確認できます。
- テスト実行:ノードは手動でトリガーされます。 実行時間と単一ノードの実行のみを確認する場合は、このモードを使用することを推奨します。
- 遡及実行:ノードは手動でトリガーされます。 複数のノードの実行時間とノード間の依存関係を確認する場合、または特定のルートノードからデータ分析と計算を再実行する場合は、このモードを使用することを推奨します。
- 定期実行:ノードは自動的にトリガーされます。 ノードをコミットすると、スケジューリングシステムは、翌日の 00:00 からノードのインスタンスを自動的に生成して実行します。 各インスタンスの予定時刻になると、スケジューリングシステムは、インスタンスの祖先インスタンスが実行されたかどうかを確認します。 すべての祖先インスタンスが実行されている場合、スケジューリングシステムは手動の介入なしにインスタンスを自動的にトリガーします。
注 スケジューリングシステムは、同じルールに基づいて、手動でトリガーされたノードと自動トリガーされたノードのインスタンスを生成します。
- スケジューリングシステムは、ノードの定期実行が分単位、時間単位、日単位、週単位、または月単位に設定されているかどうかに関係なく、ノードの有効期間内の日付ごとにノードのインスタンスを生成します。
- スケジューリングシステムは、指定された実行日に生成されたインスタンスのみを実行し、スケジュールされた時刻に到達すると、インスタンスの操作ログが生成されます。
- スケジューリングシステムは、他の日付に対して生成されたインスタンスを実行しません。 代わりに、実行条件が満たされると、インスタンスのステータスが成功に直接変更されます。
テスト実行
- DataStudio ページで、左上隅のアイコンをクリックし、 [オペレーションセンター] ページに移動します。 を選択し、
- 左側のナビゲーションウィンドウで、 を選択します。
- 対象のノードを見つけて [アクション] 列で [テスト] をクリックします。
- 表示される [スモークテスト] ダイアログボックスで、 [スモークテストインスタンス名] と [データタイムスタンプ] のパラメーターを設定し、 [OK] をクリックします。
- 表示される [テストインスタンス] ページで、インスタンスをクリックします。 インスタンスの有向非巡回グラフ (DAG) が右側に表示されます。
インスタンスを右クリックして、依存関係と詳細を表示し、このインスタンスを停止または再実行します。注
- テスト実行モードでは、ノードは手動でトリガーされます。 スケジュールされた時刻になると、祖先インスタンスが実行されたかどうかに関係なく、スケジューリングシステムは対応するインスタンスをすぐに実行します。
- バッチ同期ノード write_result は、毎週火曜日の 2時に実行されるように設定されています。 このトピックで前述したインスタンス生成ルールにでは、実行日の 1 日前のデータタイムスタンプがテスト実行の月曜日に設定されている場合、スケジューリングシステムは、バッチ同期ノードのインスタンス write_result を火曜日の 2 時に実行します。 テスト実行のデータタイムスタンプが月曜日に設定されていない場合、スケジューリングシステムは、インスタンスのステータスを火曜日の 2 時に成功に変更し、操作ログは生成されません。
遡及実行
複数のノードの実行時間とノード間の依存関係を確認する場合、または特定のルートノードからデータ分析と計算を再実行する場合は、遡及実行の使用を推奨します。
- [オペレーションセンター] ページ左側のナビゲーションウィンドウで を選択します。
- 対象のノードを見つけて、[アクション] 列で を選択します。
- 表示される [パッチデータ] ダイアログボックスでパラメーターを設定し、 [OK] をクリックします。
パラメーター 説明 遡及インスタンス名 遡及インスタンスの名前です。 データのタイムスタンプ 遡及インスタンスのデータタイムスタンプです。 遡及インスタンスは、指定されたタイムスタンプの翌日に実行されます。 ノード デフォルト値は現在のノードで、変更できません。 並列処理 ノードを他のノードと同時に実行するかどうかを指定します。 [無効化] を選択するか、または、複数のノードを指定して同時に実行します。 - 表示される [パッチデータ] ページで、遡及インスタンスをクリックして、インスタンスの DAG を表示します。
インスタンスを右クリックして、依存関係と詳細を表示し、このインスタンスを停止または再実行します。注
- 遡及実行モードでは、インスタンスの実行には前日のインスタンス実行結果が必要です。 たとえば、2017 年 9 月 15 日から 2017 年 9 月 18 日まで実行するように遡及インスタンスを設定したシナリオで、9 月 15 日のインスタンスが実行に失敗した場合、9 月 16 日のインスタンスは実行できません。
- バッチ同期ノードの write_result は、毎週火曜日の 2 時に実行されるように設定されます。 このトピックで前述したインスタンス生成ルールに従って、実行日の 1 日前のデータのタイムスタンプが遡及インスタンスの月曜日に設定されている場合、スケジューリングシステムは、バッチ同期ノードのインスタンス write_result を火曜日の 2 時に実行します。 遡及インスタンスのデータタイムスタンプが月曜日に設定されていない場合、スケジューリングシステムは火曜日の 2 時にインスタンスのステータスを完了に変更します。操作ログは生成されません。
定期実行
定期実行モードでは、スケジューリングシステムが、スケジューリング構成に基づいて、すべてのノードのインスタンスを自動的にトリガーします。 [オペレーションセンター]
ページで定期実行を管理するためのメニュー項目はありません。 インスタンス情報と操作ログは、次のいずれかの方法で表示できます。
- [オペレーションセンター] ページの左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、データのタイムスタンプや実行日などのパラメーターを設定し、バッチ同期ノードのインスタンス write_result を見つけて、インスタンスを右クリックし、インスタンス情報と操作ログを表示します。
- [サイクルインスタンス] ページで、ターゲットノードのインスタンスをクリックして、インスタンスの DAG を表示します。
インスタンスを右クリックして、依存関係と詳細を表示し、そのインスタンスを停止または再実行します。注
- 祖先ノードが実行されていない場合、その子孫ノードも実行されません。
- インスタンスの初期ステータスが保留中の場合、スケジュールシステムは、スケジュールされた時刻になると、そのすべての祖先インスタンスが実行されているかどうかを確認します。
- すべての祖先インスタンスが実行され、スケジュールされた時刻に達した後にのみ、インスタンスをトリガーして実行できます。
- インスタンスが保留中の場合は、そのすべての祖先インスタンスが実行されているかどうか、およびスケジュールされた時間に到達したかどうかを確認します。