DataWorks タスクのスケジューリングプロパティとスケジューリング依存関係の設定方法を説明します。このトピックでは、write_result タスクの週次スケジュールを例として使用します。
前提条件
背景情報
DataWorks は、時間ベースおよび依存関係ベースのトリガーをサポートする強力なスケジューリング機能を提供します。DataWorks は、DAG 関係に基づいて、毎日数千万のタスクが正確かつ時間通りに実行されることを保証します。分、時間、日、週、または月単位でスケジューリング期間を設定できます。詳細については、「時間プロパティの設定」をご参照ください。
時間プロパティの設定
-
[DataStudio] ページに移動します。
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[DataStudioに移動] をクリックします。
-
該当するワークフロー内で、オフライン同期ノード write_result をダブルクリックして、設定タブを開きます。
-
右側のナビゲーションペインで、Scheduling をクリックします。
説明スケジューラーは手動トリガーワークフロー内のノードを実行しません。手動でトリガーする必要があります。
-
[スケジュール] セクションで、タスクのスケジューリングプロパティを設定します。
パラメーター
説明
Instance Generation Mode
値:Next Day および Immediately After Deployment。詳細については、「インスタンス生成モード」をご参照ください。
Recurrence
-
Normal:タスクは設定されたスケジュールに従って実行され、データを処理します。
-
Suspend scheduling:スケジュールされた時刻に、スケジューラーはノードのステータスを一時停止に設定し、データ処理をスキップします。
-
Dry Run:スケジューラーはスケジュールされた時刻にタスクをトリガーしますが、ノードはドライランを実行し、データを処理しません。
Scheduling period
ノードの実行サイクル。年、月、週、日、時間、または分など。この例では、毎週月曜日と火曜日の
00:00に実行するようにスケジュールを設定します。cron expression
このフィールドには、スケジュール設定に基づいた cron 式が表示されます。編集はできません。
Timeout Definition
タスクのランタイムが指定されたタイムアウトを超えた場合、システムは自動的にタスクを終了します。
-
タイムアウト期間は、定期スケジュールされたインスタンス、データバックフィルインスタンス、およびテストインスタンスに適用されます。
-
デフォルトのタイムアウト期間は3~7日です。システムは実際のワークロードに基づいて、この範囲内でデフォルトのタイムアウトを動的に調整します。
説明-
Timeout Definition の最大値は 168 時間に設定できます。
-
タイムアウトしたタスクによって消費されたトラフィックおよびコンピューティングリソースには、引き続き料金が発生します。
Rerun attribute
値:You can run again after successful or failed operation.、Do not re-run after successful operation, and re-run after failure.、および Disallow Regardless of Running Status。
Auto Rerun upon Failure
このプロパティは、Rerun attribute が You can run again after successful or failed operation. または Do not re-run after successful operation, and re-run after failure. に設定されている場合に表示されます。Disallow Regardless of Running Status が Disallow Regardless of Running Status に設定されている場合、このプロパティは非表示になります。つまり、タスクが失敗しても自動的に再実行されません。
Rerun Times
Error automatic re-run チェックボックスをオンにした場合、Rerun Times を設定する必要があります。
Rerun Interval
Error automatic re-run チェックボックスをオンにした場合、Rerun Interval を設定する必要があります。間隔は 1~30 分に設定でき、デフォルトは 30 分です。
Validity Period
ノードがアクティブな期間。要件に基づいて設定します。
時間プロパティの詳細については、「時間プロパティの設定」をご参照ください。
-
スケジューリング依存関係の設定
先祖ノードを設定することで、スケジューリング依存関係を構成できます。つまり、ノードのスケジュールされた時刻に達しても、先祖ノードインスタンスが正常に実行された後にのみ、そのインスタンスがトリガーされます。
たとえば、現在のノードのインスタンスは、insert_data 上流ノードのインスタンスが完了した後にのみトリガーされます。
スケジューリング依存関係により、下流ノードは上流ノードがデータを生成するまで待機してから処理を開始します。たとえば、下流ノードは、上流ノードによって生成されたテーブルに対してさらにデータクレンジングを実行したり、結果を別のデータベースに書き込んだりする場合があります。どちらの操作も、上流ノードが正常に実行され、最初に出力を生成する必要があります。この依存関係モデルにより、下流ノードが実行される前に上流データの準備が整うことが保証されます。スケジューリング依存関係のロジックの詳細については、「スケジューリング依存関係設定ガイド」をご参照ください。
スケジューリングシステムは、各ワークスペースにデフォルトのルートノードを作成します。ルートノードには、ワークスペース名_root という形式で名前が付けられます。ノードに上流ノードがない場合、ルートノードに直接依存できます。
タスクのコミットとデプロイ
-
write_result ノードの設定タブで、ツールバーの
アイコンをクリックして、ノードを保存します。 -
タスクをコミットします。
説明タスクをコミットする前に、Rerun attribute を設定し、Parent Nodes を指定する必要があります。
-
ツールバーの
アイコンをクリックします。 -
Submit ダイアログボックスで、Change Description を入力します。
-
OK をクリックします。
Standard mode のワークスペースを使用する場合、タスクを送信すると開発環境にコミットされます。 タスクを Production Environment にデプロイして [定期スケジューリング] を実行するには、左上隅の [デプロイ] をクリックします。 その後、Deploy ページで同期タスクを本番環境にデプロイできます。 詳細については、「タスクをデプロイする」をご参照ください。
同期タスクをスケジューリングシステムにコミットする必要があります。システムはインスタンスを生成し、翌日からスケジュールされた時刻に実行します。
説明23:30 以降に同期タスクをコミットした場合、スケジューリングシステムは翌々日にインスタンスの生成と実行を開始します。
-
次のステップ
タスクを設定した後、次のチュートリアルで日常的な運用保守の実行、ログの表示、エラーのトラブルシューティング方法を学習します:「タスクの実行とエラーのトラブルシューティング」。