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

DataWorks:スケジュール時刻

最終更新日:Aug 06, 2026

スケジューリング周期は、本番環境でノードが自動実行される頻度を定義します。この周期に基づき、DataWorks のスケジューリングシステムは定期インスタンスを生成し、ノードの依存関係と各インスタンスのスケジュール時刻に従って実行します。

基本概念

  • 定期インスタンス:スケジューリングシステムは、各データタイムスタンプに対して、スケジューリング設定 (例:毎日 00:00 に実行) に基づいて定期タスクのランタイムエンティティを生成します。このエンティティが定期インスタンスです。ノードのランタイム、ステータス、ログはこのインスタンスに関連付けられます。

  • 周期をまたぐ依存関係:DataWorks では、異なるスケジューリング周期を持つノード同士が依存関係を持つことができます。例えば、日次実行の下流ノードが、時間単位で実行される上流ノードに依存するケースなどです。ノード間の依存関係は、それぞれの定期インスタンス間の依存関係となります。詳細については、「周期をまたぐ依存関係」をご参照ください。

  • ドライラン:週次、月次、年次ノードなど、毎日実行されないノードに対して、スケジューリングシステムはスケジュールされていない日にドライランインスタンスを生成します。このインスタンスは、スケジュール時刻に達すると、ステータスが即座に「成功」に変わりますが、ノード内のコードロジックは実行されません。ドライランの主な目的は、依存関係を解決し、下流の日次ノードが正しくトリガーされることを保証するためです。

    • インスタンスのステータスは「成功」となり、実行時間は 0 秒で、ログは生成されません。

    • スケジューリングリソースやコンピューティングリソースを使用しません。

    • 下流ノードの実行をブロックしません。上流ノードがドライランインスタンスであっても、下流ノードは実行条件が満たされ次第、スケジュール通りに実行されます。

基本原則とシナリオ

スケジュール実行の条件

定期インスタンスは、以下の両方の条件が満たされた後にのみ実行されます。条件が満たされる順序は問いません。

  • すべての上流インスタンスが正常に実行完了していること。これには、ドライランとして完了したインスタンスも含まれます。

  • インスタンスがスケジュール時刻に達していること。

したがって、設定されたスケジュール時刻はあくまで期待されるスケジュール時刻です。ノードの実際の実行時間は、上流ノードの完了時刻、利用可能なコンピューティングリソース、ノード固有の実行条件などの要因に影響されます。

説明

毎日 00:00 前後の時間帯は DataWorks のスケジューリングが最も集中する時間帯であり、大量のタスクが同時にトリガーされます。タスクが 00:00 にスケジュールされている場合、通常、スケジュール時刻と実際の実行開始との間に数分の遅延が発生します。これは想定される動作です。

タスクが開始時刻の影響を受けやすい場合は、ピーク期間を避けるため、スケジュール時刻を 00:00 以降の時刻 (例: 00:10 または 01:00) に設定することをお勧めします。 ビジネス要件でタスクを 00:00 に開始する必要がある場合 (T+1 データウェアハウス処理パイプラインの第 1 レイヤーのタスクなど)、ダウンストリームの適時性評価でこの遅延を考慮してください。

ワークフローのスケジューリングシナリオ

ノード A、B、C (A→B→C) で構成されるワークフローにおいて、スケジュール時刻の設定はワークフロー全体の実行に影響します。

シナリオ 1:開始時刻の統一

ワークフロー全体は 03:00 以降に開始する必要があります。 これを実現するには、開始ノード A のスケジュール時刻を 03:00 に設定します。 下流ノード B および C のデフォルトのスケジュール時刻が 00:00 であっても、ノード A が 03:00 に正常に実行されるのを待ってから開始する必要があります。

シナリオ 2:各ノードで異なる開始時刻

ノード A は 03:00 に実行がスケジュールされ、ノード B は 05:00 以降、ノード C は 06:00 以降に実行される必要があります。ノード A、B、C のスケジュール時刻を、それぞれ 03:00、05:00、06:00 に設定する必要があります。

シナリオ 3:一部のノードに特定の開始時刻

ノード A は 03:00 に実行されるようにスケジュールされ、ノード B は 05:00 になるまで実行してはならず、ノード C には特定の時刻要件はありません。ノード A のスケジュール時刻を 03:00 に、ノード B を 05:00 に設定します。ノード C は、ノード B が 05:00 以降に正常に実行されるのを待ってから、実行を開始します。

スケジュール時刻更新の影響

スケジューリング設定 でノードのスケジュール時刻を変更し、ノードを再デプロイすると、選択した インスタンス生成モード によって影響が異なります。

  • モード A:翌日 (T+1、デフォルト):このオプションを選択してノードをデプロイすると、既に生成されている過去 2 日間 (T および T-1) のインスタンス (完了済みおよび待機中のインスタンスを含む) のスケジュール時刻が、新しく設定された時刻に更新されます。まだ生成されていない将来のインスタンスは、新しい時刻で生成されます。

  • モード B:デプロイ後すぐ:このオプションを選択すると、新しい設定に基づいて新しいインスタンスが即座に生成されます。履歴インスタンスのスケジュール時刻は変更されません。

スケジューリングタイプの設定

DataWorks は、分、時、日、週、月、年という 6 つのスケジューリング周期をサポートしています。DataStudio のノード編集ページで、右側の スケジューリング設定 をクリックし、スケジュール時刻 セクションで設定します。

説明

スケジュール時刻の設定方法は、ノードの構成方法によって異なります。

  • ワークフローノード:ノードがワークフロー内に構成されている場合、スケジュール時刻はワークフローレベルで設定されます。ワークフロー内の個々のノードは、独自のスケジュール時刻設定を持つことはできません。スケジュール時刻を変更するには、ワークフローのスケジューリング設定に移動します。

  • スタンドアロンノード:ノードがどのワークフローにも属していない場合、スケジュール時刻はノード自体で独立して設定されます。

分レベルのスケジューリング

説明

分レベルのスケジューリングの最小間隔は 1 分です。

設定例

目標: ノードが毎日 00:00 から 23:59 の間に 30 分ごとにスケジュールされます。

説明

cron 式は選択した時刻に基づいて自動生成され、手動での変更はできません。

有効日を [永続] に設定します。自動生成された cron 式は 00 */30 00-23 * * ? です。

スケジューリングの詳細

上記の設定では、1 日あたり 48 個の定期インスタンスが生成され、スケジュール時刻は 00:00、00:30、01:00、...、23:30 となります。各インスタンスのデータタイムスタンプ (bizdate) は当日です。

説明

分レベルのスケジューリングに関するその他の依存関係シナリオについては、「分レベルのスケジューリングにおける周期をまたぐ依存関係」をご参照ください。

時間レベルのスケジューリング

注意事項

  • 時間範囲は、両端を含む原則に従います。 たとえば、ノードを 00:00 から 03:00 の間で 1 時間ごとに実行するように設定した場合、スケジューリングシステムは、スケジュール時刻が 00:00、01:00、02:00、および 03:00 である 4 つのインスタンスを生成します。

  • 時間範囲と間隔を設定するか、複数の特定の実行時刻を直接指定することができます。

設定例

目的: ノードは毎日 00:00 から 23:59 の間に 6 時間ごとにスケジュールされます。

説明

cron 式は選択した時刻に基づいて自動生成され、手動での変更はできません。

[実行周期] を [時間] に設定し、[時間範囲]タブを選択し、[有効日] を [無期限] に設定します。 自動的に生成された cron 式は 00 00 00-23/6 * * ? です。

スケジューリングの詳細

スケジューリングシステムは、1 日あたり 4 つのインスタンスを生成し、スケジュール時刻は 00:00、06:00、12:00、18:00 です。

説明

時間レベルのスケジューリングに関するその他の依存関係シナリオについては、「時間レベルのスケジューリングにおける周期をまたぐ依存関係」をご参照ください。

日次スケジューリング

日次スケジュールのノードは、指定されたスケジュール時刻に 1 日 1 回実行されます。ノードを作成すると、多数のタスクが 00:00 に同時に開始されるのを防ぐために、デフォルトのスケジュール時刻は 00:00–00:30 の範囲内でランダムに生成されます。これは必要に応じて変更できます。

設定例

目標: ノードを1日に1回、13:00に実行する。

説明

cron 式は選択した時刻に基づいて自動生成され、手動での変更はできません。

[有効期間] を [無期限] に設定します。

スケジューリングの詳細

スケジューリングシステムは、このタスクに対して 1 日 1 つのインスタンスを生成し、スケジュール時刻は当日の 13:00 です。

説明

日次スケジューリングに関するその他の依存関係シナリオについては、「日次スケジューリングにおける周期をまたぐ依存関係」をご参照ください。

週次スケジューリング

スケジュールされていない日には、週次スケジューリングされたノードはドライランをトリガーし、下流の依存関係が正常に実行されるようにします。詳細については、「ドライラン」をご参照ください。

設定例

目標:タスクを毎週月曜日と金曜日の指定時刻に実行します。月曜日と金曜日に生成されたインスタンスは正常にスケジュール・実行され、他の曜日のインスタンスはドライランインスタンスとなります。

説明

cron 式は選択した時刻に基づいて自動生成され、手動での変更はできません。

スケジュール時刻 を [00:00] に、[有効日] を [無期限] に設定します。自動生成された cron 式は 00 00 00 ? * 1,5 です。

スケジューリングの詳細

スケジューリングシステムは、タスクのインスタンスを自動的に生成して実行します。

説明

データ補填機能を使用する場合、選択するデータタイムスタンプに注意してください。DataWorks では、データタイムスタンプ = スケジュール日 - 1 となります。例えば、月曜日に実行される週次スケジューリングタスクを補填するには、前週の日曜日をデータタイムスタンプとして選択します。他の日付を選択した場合、補填インスタンスはドライランインスタンスになります。

月次スケジューリング

スケジュールされていない日には、月次ノードはドライランをトリガーし、下流の依存関係が正常に実行されるようにします。詳細については、「ドライラン」をご参照ください。

月次スケジューリングでは、指定時間 を 月末 に設定できます。

設定例

目標:ノードを毎月最終日の指定時刻に実行します。毎月最終日に生成されたインスタンスはスケジュール通りに実行され、他の日のインスタンスはドライランとなります。

説明

cron 式は選択した時刻に基づいて自動生成され、手動での変更はできません。

[スケジューリング周期] を [月] に設定し、時刻を毎月最終日の [00:00] に設定します。

スケジューリングの詳細

スケジューリングシステムは、ノードのインスタンスを自動的に生成して実行します。

説明

データ補填機能を使用する場合、選択するデータタイムスタンプに注意してください。DataWorks では、データタイムスタンプ = スケジュール日 - 1 となります。例えば、1 月 31 日に実行される月末ノードを補填するには、データタイムスタンプを 1 月 30 日に設定します。異なる日付を選択した場合、補填インスタンスはドライランになります。

年次スケジューリング

スケジュールされていない日には、年次ノードはドライランをトリガーし、下流の依存関係が正常に実行されるようにします。詳細については、「ドライラン」をご参照ください。

設定例

目標:ノードを毎年 1 月、4 月、7 月、10 月の 1 日と最終日に実行します。指定日に生成されたインスタンスはスケジュール通りに実行され、他の日のインスタンスはドライランとなります。

フォームで、スケジュール時刻 を [00:00] に、[有効日] を [永続] に設定します。対応する cron 式は 00 00 00 L,1 1,4,7,10 ? です。

スケジューリングの詳細

スケジューリングシステムは、ノードのインスタンスを自動的に生成して実行します。

説明

その他の依存関係シナリオについては、「周期をまたぐ依存関係」をご参照ください。