ノードの時間プロパティを設定して、ノードをコミットして本番環境にデプロイした後に、本番環境でノードがどのように実行されるかを決定できます。[プロパティ] タブの [スケジュール] セクションでは、インスタンス生成モード、スケジューリングサイクル、スケジュールされた時間、再実行、タイムアウト定義など、ノードの時間プロパティに関連するさまざまなパラメーターを設定できます。このトピックでは、ノードの時間プロパティを設定する方法について説明します。
設定ガイド
ノードの時間プロパティを設定するには、次の操作を実行する必要があります。DataStudio ページに移動し、[スケジュール済みワークフロー] ペインの [ビジネスフロー] セクションでノード名をダブルクリックしてノードの設定タブに移動し、設定タブの右側ナビゲーションペインにある [プロパティ] をクリックします。[プロパティ] タブの [スケジュール] セクションで、ノードの時間プロパティを設定します。
この記事を参照して、[プロパティ] タブで単一ノードのスケジューリングプロパティを設定できます。また、バッチ操作 機能を使用して、複数のノードのスケジューリングプロパティを同時に変更することもできます。たとえば、この機能を使用して、複数のノードのスケジューリング時間またはスケジューリング用のリソースグループを同時に変更できます。
次の表に、ノードの時間プロパティに関連するパラメーターを示します。
パラメーター | 説明 |
ノードに対して生成されたインスタンスが本番環境で有効になるモード。 | |
本番環境でノードが実行されるモード。 | |
ノードのスケジューリング日とスケジューリングタイプ。 | |
ノードのスケジューリング頻度。このパラメーターは、ノードに対して生成されるインスタンスの数と、インスタンスが本番環境で実行される時間を決定します。 | |
ノードのタイムアウト期間。ノードが実行されている時間が指定されたタイムアウト期間を超えると、ノードは失敗します。 | |
ノードを再実行するかどうか、およびノードを再実行できる条件を指定します。このパラメーターを設定する場合は、ノードのデータのべき等性に影響がないことを確認してください。 | |
ノードが自動的に実行されるようにスケジュールされる期間。ノードは、指定された時間範囲外では自動的に実行されません。 |
使用上の注意
ノードの時間プロパティは、ノードをスケジュールする時間を定義するだけです。ノードが実行されるかどうか、およびノードが実際に実行される時間は、複数の要因によって決まります。これらの要因には、以下の項目が含まれますが、これらに限定されません。
スケジューリングスイッチの制御
ノードが属するワークスペースで [定期スケジューリング] がオンになっている場合にのみ、ノードはそのスケジューリングプロパティに基づいて自動的にスケジュールできます。ワークスペースの DataStudio の [設定] ページの [スケジューリング設定] タブでスイッチをオンにすることができます。詳細については、「スケジューリング設定の構成」をご参照ください。
ノードの実行時間に対するノードのスケジューリング依存関係の影響
ノードに指定したスケジューリング時間は、そのノードにのみ有効です。ノードが実際に実行される時間は、ノードの先祖ノードのスケジューリング時間に関連しています。ノードは、先祖ノードのスケジューリング時間が到来し、先祖ノードが正常に実行された場合にのみ実行を開始できます。ノードのスケジューリング時間がノードの先祖ノードのスケジューリング時間よりも早い場合も、同じロジックが適用されます。詳細については、「ノード間の依存関係がノードの実行に及ぼす影響」をご参照ください。
ノードの実行時間に対するノードの実行に必要なリソースグループの影響
ノードの実行は、ノードの先祖ノードのスケジューリング時間と先祖ノードが正常に実行されたかどうかだけでなく、ノードの実行に必要なリソースグループによっても決まります。ノードのスケジューリング時にノードの実行に必要なリソースが十分にあるかどうかも、ノードの実行に影響します。詳細については、「ノード実行メカニズム」をご参照ください。
環境の影響
本番環境にデプロイされたノードのみが、自動的に実行されるようにスケジュールできます。ノードを定期的にスケジュールするには、ノードを本番環境にデプロイする必要があります。開発環境のノードは自動的にスケジュールできません。
ノードの実行方法
DataWorks では、自動トリガーノードは、スケジューリング頻度とノードのスケジューリングサイクル数に基づいてインスタンスを生成します。たとえば、毎日1時間ごとにスケジュールされるノードに対して生成されるインスタンスの数は、毎日ノードのスケジューリングサイクルの数と同じです。ノードはインスタンスとして実行されます。
スケジューリング時間
早朝などのピーク時には、スケジューリング時間が 00:00 に設定されているすべてのノード(現在のワークスペースのルートノードを含む)が、 00:00 から 00:05 までの時間範囲内で実行されるようにスケジュールされます。
インスタンスが有効になるモード
自動トリガーノードをコミットして本番環境のスケジューリングシステムにデプロイすると、[インスタンス] 生成モードパラメーターの値に基づいて、自動的にスケジュールできる [インスタンス] がノードに対して生成されます。インスタンス生成モードパラメーターの値に関係なく、オペレーションセンターの 自動トリガータスク ページで、ノードの最新のスケジューリング依存関係を表示できます。インスタンス生成モードパラメーターの値は、[翌日] または [デプロイ直後] にすることができます。生成された インスタンス が有効になる時間と、ノードのスケジューリング依存関係が更新される時間は、インスタンス生成モードパラメーターの値によって決まります。次の表に、インスタンス生成モードパラメーターの有効な値を示します。
インスタンス生成モードパラメーターの値に関係なく、23:30 から 24:00 の期間中に加えられた変更は、ノードが本番環境にデプロイされてから 3 日後に有効になります。この期間中はタスクを変更しないことをお勧めします。
インスタンス生成モードパラメーターの値 | 説明 |
翌日 | ノードに対して生成されたインスタンスは、ノードを本番環境にデプロイした翌日に自動的にスケジュールされます。オペレーションセンターの 自動トリガーインスタンス ページで、インスタンスのステータスを表示できます。 ノードをデプロイした日にノードを実行する場合は、ノードの データバックフィル 機能を使用できます。ノードのデータバックフィルに関連する設定を構成する際に、データタイムスタンプとして 前日 を選択すると、ノードに対して生成されたデータバックフィルインスタンスは、当日 に実行されるようにスケジュールされたインスタンスと同じ方法で実行されます。 |
ノードに対して生成されたインスタンスは、ノードを本番環境にデプロイした日に自動的にスケジュールされます。オペレーションセンターの 自動トリガーインスタンス ページで、インスタンスのステータスを表示できます。 説明 ノードに対して生成されたインスタンスは、ノードのスケジューリング時間がノードのデプロイ時間よりも後の場合にのみ正常に実行できます。過去の時点に設定すると、インスタンスでドライランが実行され、データは生成されません。インスタンスが正常に実行されるようにするには、インスタンスを生成するノードのスケジューリング時間が、ノードをデプロイする時間よりも少なくとも 10 分後であることを確認する必要があります。
|
スケジューリングタイプ
次の表に、繰り返しパラメーターの有効な値を示します。
値 | 説明 | シナリオ |
通常 | 繰り返しパラメーターを「通常」に設定すると、ノードはスケジューリングサイクルとスケジューリング時間の設定に基づいて実行され、データを生成します。 ノードが想定どおりに実行されると、ノードの子孫ノードもトリガーされて実行されます。デフォルトでは、繰り返しパラメーターは「通常」に設定されています。 | ノードと、このノードに対して生成されたインスタンスを想定どおりに実行する場合。 |
実行をスキップ | 繰り返しパラメーターを「実行をスキップ」に設定すると、ノードはスケジューリングサイクルとスケジューリング時間の設定に基づいてスケジュールされます。ただし、ノードのステータスはフリーズされ、ノードはデータを生成しません。 ノードがスケジュールされると、システムは直ちに失敗応答を返し、子孫ノードは実行できません。 説明 オペレーションセンターでは、フリーズされたノードの名前の横に次のアイコンが表示されます: | ノードと、ノードに対して生成されたインスタンスをフリーズする場合。この場合、現在のノードとその子孫ノードは実行できません。 指定された期間内にワークフローを実行する必要がない場合は、ビジネス要件に基づいて、その期間内にワークフローのルートノードをフリーズできます。また、ビジネス要件に基づいてルートノードのフリーズを解除して、ワークフローを再開することもできます。ノードのフリーズを解除する方法については、「ノードのフリーズとフリーズ解除」をご参照ください。 |
ドライラン | 繰り返しパラメーターを「ドライラン」に設定すると、ノードはスケジューリングサイクルとスケジューリング時間の設定に基づいてスケジュールされます。ただし、ノードでドライランが実行され、ノードはデータを生成しません。 ノードがスケジュールされると、スケジューリングシステムは成功応答を返します。ただし、実行時間は | 一定期間ノードを一時停止し、ノードの子孫ノードを想定どおりに実行する場合。 |
スケジューリングカレンダー
スケジューリングカレンダー機能は、ノードのスケジューリング日とスケジューリングタイプを定義するために使用されます。DataStudio の [プロパティ] タブの [スケジュール] セクションにあるスケジューリングカレンダーパラメーターの有効な値:
デフォルトカレンダー:DataWorks によって提供され、一般的なシナリオに適したカレンダー。
カレンダーのカスタマイズ:ユーザーが設定したカレンダーで、金融業界など、柔軟なスケジューリング日を必要とする業界やシナリオに適しています。ノードのスケジューリングカレンダーを設定するには、スケジューリングカレンダーを適用できるワークスペース、スケジューリングカレンダーの有効期間、特定の日付のノードのスケジューリングタイプなどの項目を指定する必要があります。詳細については、「スケジューリングカレンダーの設定」をご参照ください。
選択したスケジューリングカレンダーと、スケジューリングタイプ や スケジューリング頻度 などのその他のスケジューリング設定に基づいて、指定した時刻にノードをスケジュールできます。
スケジューリング頻度
ノードのスケジューリング頻度は、スケジューリングシナリオでノードが自動的に実行されるサイクル数を決定します。スケジューリング頻度は、本番環境のスケジューリングシステムでノードのコードロジックが実際に実行される間隔を定義するために使用されます。ノードは、スケジューリング頻度とノードのスケジューリングサイクル数に基づいてインスタンスを生成します。たとえば、毎日1時間ごとにスケジュールされるノードに対して生成されるインスタンスの数は、毎日ノードのスケジューリングサイクルの数と同じです。ノードはインスタンスとして実行されます。
ノードのスケジューリング頻度は、ノードの先祖ノードのスケジューリング頻度とは無関係です。
ノードがスケジュールされる間隔は、ノードのスケジューリング頻度に関連しており、ノードの先祖ノードのスケジューリング頻度とは無関係です。
DataWorks では、スケジューリング頻度が異なるノード間にスケジューリング依存関係を設定できます。
DataWorks では、自動トリガーノードは、スケジューリング頻度とノードのスケジューリングサイクル数に基づいてインスタンスを生成します。たとえば、毎日1時間ごとにスケジュールされるノードに対して生成されるインスタンスの数は、毎日ノードのスケジューリングサイクルの数と同じです。ノードはインスタンスとして実行されます。本質的に、自動トリガーノード間の依存関係は、ノードに対して生成されるインスタンス間の依存関係です。先祖と子孫の自動トリガーノードに対して生成されるインスタンスの数と、インスタンス間の依存関係は、先祖と子孫のノードのスケジューリング頻度によって異なります。スケジューリング頻度が異なるノード間のスケジューリング依存関係については、「複雑な依存関係シナリオにおけるスケジューリング設定の原則とサンプル」をご参照ください。
ノードが実行されるようにスケジュールされていない日には、ノードに対してドライランインスタンスが生成されます。
週、月、または年単位でスケジュールされるノードなど、毎日実行されるようにスケジュールされていないノードの場合、DataWorks は、実行されるようにスケジュールされていない日に、ノードに対して ドライランインスタンス を生成します。ドライランインスタンスは、これらの日にノードのスケジューリング時間が到来すると、成功結果を返します。このようにして、日単位でスケジュールされるノードが週または月単位でスケジュールされるノードに依存している場合、日単位でスケジュールされるノードは想定どおりに実行できます。この場合、週または月単位でスケジュールされるノードでドライランが実行されますが、日単位でスケジュールされるノードはスケジュールどおりに実行されます。
ノード実行時間
ノードをスケジュールする時間を指定することのみ可能です。ノードが実際に実行される時間は、複数の要因の影響を受けます。ノードの実行は、ノードの先祖ノードのスケジューリング時間、ノードの実行に必要なリソース、ノードの実行条件など、さまざまな要因の影響を受けます。詳細については、「ノード実行条件」をご参照ください。
次の表に、スケジューリングサイクルパラメーターの有効な値を示します。
スケジューリングサイクルパラメーターの値 | 説明 | 一般的なシナリオでのサンプル設定 |
ノードが分単位でスケジュールされている場合、ノードは毎日特定の期間内に | ノードは 30 分ごとに1回実行されます。 | |
ノードが時間単位でスケジュールされている場合、ノードは毎日特定の期間内に | ノードは 1 時間ごとに 1 回実行されます。 | |
ノードが日単位でスケジュールされている場合、ノードは毎日指定された時刻に自動的に実行されます。日単位でスケジュールされる自動トリガーノードを作成すると、デフォルトでは、ノードは毎日 00:00 に実行されるようにスケジュールされます。ビジネス要件に基づいて、ノードのスケジューリング時間を変更できます。 | ノードは毎日 00:00 に実行されます。 | |
ノードが週単位でスケジュールされている場合、ノードは毎週特定の曜日の指定された時刻に自動的に実行されます。 重要 毎日スケジュールされていないノードの場合、DataWorks は、実行されるようにスケジュールされていない日に、ノードに対して ドライランインスタンス を生成します。ドライランインスタンスは成功結果を返しますが、データは生成しません。 | ノードは毎週金曜日の 12:00 に実行されます。 | |
ノードが月単位でスケジュールされている場合、ノードは毎月特定の日の指定された時刻に自動的に実行されます。 重要 毎日スケジュールされていないノードの場合、DataWorks は、実行されるようにスケジュールされていない日に、ノードに対して ドライランインスタンス を生成します。ドライランインスタンスは成功結果を返しますが、データは生成しません。 | ノードは毎月の最終日の指定された時刻に実行されます。 | |
ノードが年単位でスケジュールされている場合、ノードは毎年特定の日の指定された時刻に自動的に実行されます。 重要 毎日スケジュールされていないノードの場合、DataWorks は、実行されるようにスケジュールされていない日に、ノードに対して ドライランインスタンス を生成します。ドライランインスタンスは成功結果を返しますが、データは生成しません。 | ノードは四半期ごとの最初の月の最終日の指定された時刻に実行されます。 |
タイムアウト期間
タイムアウト定義パラメーターを使用して、ノードのタイムアウト期間を指定できます。ノードが実行されている時間が指定されたタイムアウト期間を超えると、ノードは失敗します。このパラメーターを使用する場合は、次の点に注意してください。
タイムアウト期間は、自動トリガーノードインスタンス、データバックフィルインスタンス、およびテストインスタンスに適用されます。
デフォルトのタイムアウト期間は 72 時間から 168 時間です。システムは、システム負荷に基づいてノードのデフォルトのタイムアウト期間を自動的に調整します。
タイムアウト期間をカスタマイズできますが、168 時間を超えることはできません。
再実行プロパティ
[スケジュール] セクションで、ノードを再実行するための条件、間隔、および回数を設定できます。
ノードの再実行プロパティを設定する場合は、ビジネス要件に基づいて、ノードのデータのべき等性に影響がないことを確認してください。これは、失敗したノードが再実行された後のデータ品質の問題を防ぐのに役立ちます。たとえば、ODPS SQL ノードを作成および開発する場合は、
INSERT INTOステートメントをINSERT OVERWRITEステートメントに置き換えることができます。DataStudio の [設定] ページの [スケジューリング設定] タブに移動して、作成されるノードのデフォルトのスケジューリング設定を行うことができます。詳細については、「スケジューリング設定の構成」をご参照ください。
再実行
次の表に、再実行パラメーターの有効な値を示します。
説明再実行パラメーターの横にある [デフォルト設定の変更] をクリックすると、[スケジューリング設定] タブに移動できます。
値
シナリオ
実行ステータスに関係なく許可
ノードを複数回再実行した後にノードのデータのべき等性に影響がない場合は、再実行パラメーターをこの値に設定できます。
失敗時にのみ許可
失敗したノードの再実行はデータのべき等性に影響を与えませんが、成功したノードの再実行は影響を与える場合は、再実行パラメーターをこの値に設定できます。
実行ステータスに関係なく不許可
ノードを再実行した後にノードのデータのべき等性を確保できない場合は、再実行パラメーターをこの値に設定できます。
説明再実行パラメーターを「実行ステータスに関係なく不許可」に設定すると、システムが例外から回復した後に、システムはノードを自動的に再実行しません。
再実行パラメーターを「実行ステータスに関係なく不許可」に設定すると、[失敗時に自動再実行] パラメーターは表示されません。
失敗時に自動再実行
次の表に、エラー発生後に自動再実行を許可する場合に設定する必要があるパラメーターを示します。
パラメーター
説明
再実行回数
自動トリガーノードがスケジュールどおりに実行できなかった後に再実行されるデフォルトの回数。
有効な値:1 ~ 10。値 1 は、ノードが想定どおりに実行できなかった後に 1 回再実行されることを示します。値 10 は、ノードが想定どおりに実行できなかった後に 10 回再実行されることを示します。ビジネス要件に基づいてこのパラメーターを設定できます。
再実行間隔
ノードがスケジュールどおりに実行できなかった後に再実行される間隔。要件に基づいてこのパラメーターを設定できます。有効な値:1 ~ 30。デフォルト値:30。単位:分。
説明再実行パラメーターを [実行ステータスに関係なく不許可] に設定すると、[失敗時に自動再実行] パラメーターは表示されません。この場合、ノードはスケジュールどおりに実行できなかった後に再実行できません。
[スケジューリング設定] タブで、ワークスペース内のノードのデフォルトの再実行回数とデフォルトの再実行間隔を指定できます。詳細については、「スケジューリング設定の構成」をご参照ください。
タイムアウト期間を超過したためにノードが失敗した場合、自動再実行機能は有効になりません。
有効期間
ノードがスケジュールどおりに自動的に実行される有効期間を指定できます。ノードは、指定された時間範囲外では自動的に実行されません。有効期間が切れたノードは、期限切れのノードです。オペレーションセンターの O&M ダッシュボード ページで期限切れのノードの数を確認し、必要に応じてノードのデプロイを解除できます。
付録:ドライランプロパティの説明
週、月、または年単位でスケジュールされるノードの場合、スケジューリングシステムは毎日スケジューリング時間にノードを実行します。ノードを実行するように指定されていない日には、ノードでドライランが実行され、ノードはデータを生成しません。次の説明は、ドライランの効果を示しています。
スケジューリングシステムは直ちに成功応答を返し、実行時間は
0秒です。実行ログは生成されません。
子孫ノードの実行は影響を受けません。
リソースは占有されません。




