スケジュールされたタスクはリソースグループで実行されます。外部エンジンのトリガーと監視のみを行うタスクはスケジューリングタスクであり、コンピューティングユニット (CU) を消費しません。一方、DataWorks 内でコードを実行するタスクはコンピューティングタスクであり、CU を消費します。安定した実行とコスト最適化を実現するために、スケジューリング設定でリソースプロパティを設定します。
基本概念
DataWorks は、コンピューティングユニット (CU) を消費するかどうかに基づいて、タスクを 2 つのタイプに分類します。
|
タスクタイプ |
主な役割 |
CU の消費 |
タスクリスト |
|
スケジューリングタスク |
MaxCompute や Hologres などの外部コンピューティングエンジンでの計算をトリガーし、監視します。 |
消費しない |
|
|
コンピューティングタスク |
DataWorks リソースグループ内でコードを直接実行して、計算を行います。 |
消費する |
-
このトピックでは、
Serverlessリソースグループの CU 設定について説明します。専用リソースグループまたはサブスクリプションリソースグループを使用する場合、CU を設定せずにリソースグループを指定するだけで済みます。 -
本トピックでは、MaxCompute などのタスクから呼び出されるサードパーティエンジンのリソース消費や課金については説明しません。
操作手順
すべてのスケジュールされたタスクにはリソース設定が必要です。設定プロセスは、タスクタイプとリソースグループタイプによって異なります。
ステップ 1: スケジューリングリソースグループを指定する
この基本設定は、すべてのスケジュールされたタスクに適用されます。
-
タスクエディターで、右側のスケジューリング設定パネルを探します。
-
リソースプロパティ セクションで、ドロップダウンリストからスケジューリングリソースグループを選択します。
重要選択したリソースグループが、タスクで必要なデータソースおよびコンピューティングリソースに接続できることを確認してください。そうでない場合、タスクが失敗する可能性があります。詳細については、「ネットワーク接続設定」をご参照ください。
リソースグループを選択すると、現在のタスクがスケジューリングタスクであり、CU を必要としないというメッセージが表示されます。
ステップ 2: コンピューティングリソースを設定する (コンピューティングタスクのみ)
タスクがコンピューティングタスクであり、ステップ 1 でServerless リソースグループを選択した場合は、このステップを実行します。
ヒント: スケジューリングタスクまたはサーバーレス以外のリソースグループの場合は、このステップをスキップできます。
-
スケジューリング CU 設定オプションは、リソースグループのスケジューリング 設定の下に自動的に表示されます。
-
タスクのコンピューティングの複雑さとパフォーマンスのニーズに基づいて、ランタイムの CU 数 (例:0.25、1、または 4 CU) を設定します。適切に CU を割り当てることで、安定した実行を確保し、コストを管理できます。
ステップ 3: イメージを設定する
PyODPS や Shell などのタスクタイプでは、イメージ を設定して実行環境を定義できます。詳細については、「カスタムイメージ」をご参照ください。
設定フォームには次のフィールドが含まれます:[スケジューリングリソースグループ](必須、例:dataworks_default_resource_groupを選択)、[スケジューリング CU](例:0.25を入力)、および[イメージ](ドロップダウンリストから選択)。
デフォルトのスケジューリングリソースグループの設定
タスクを作成すると、[スケジューリング設定] で指定されたスケジューリングリソースグループがデフォルトとして使用されます。 これを変更するには、左下隅の
アイコンをクリックし、 に移動して、デフォルトのリソースグループを更新します。
課金
サーバーレスリソースグループでスケジュールされたタスクを実行すると、2 種類の料金が発生します。
-
タスクスケジューリング料金: 1 日あたりの成功したタスク実行数に基づいて課金されます。詳細については、「スケジューリングインスタンス料金」をご参照ください。
-
リソース使用料: 従量課金のサーバーレスリソースグループでコンピュートタスクが実行される場合にのみ適用されます。消費された CU とタスクの実行時間に基づいて計算されます。この料金には、タスクによって呼び出されるサードパーティエンジンからの料金は含まれません。詳細については、「サーバーレスリソースグループの課金」をご参照ください。
データ統合タスクの場合、リソース消費は、スケジューリング CU 設定ではなく、リソースグループに指定した[消費 CU]に依存します。
よくある質問
タスクは祖先タスクの完了を待機している間、スケジューリングリソースグループの CU を消費しますか?
いいえ。タスクは祖先タスクの完了を待機している間、スケジューリングリソースグループの CU を占有しません。CU は、タスクが実際に実行されている間のみ消費されます。たとえば、SQL スクリプトテンプレートに 0.25 のスケジューリング CU が割り当てられており、その祖先タスクがまだ完了していない場合、インスタンスはそれらの祖先タスクを待機し、その期間中は CU を消費しません。