ワークフローは、視覚的な有向非循環グラフ (DAG) です。タスクノードをドラッグして接続することで、ワークフローを作成できます。特定の時間にタスクを実行するために、ワークフローのスケジューリングノードとポリシーを定義できます。このトピックでは、ワークフローの作成方法と実行方法について説明します。
制限事項
デプロイ済みのバッチジョブのみをスケジュールするワークフローを作成できます。
タスクオーケストレーションはパブリックプレビュー中の機能です。パブリックプレビュー期間中は、サービスレベルアグリーメント (SLA) は保証されません。詳細については、「Realtime Compute for Apache Flink サービスレベルアグリーメント (SLA)」をご参照ください。この機能の使用中に問題が発生した場合は、チケットを送信してください。
タスクオーケストレーション機能は、中国 (上海)、中国 (杭州)、中国 (北京)、中国 (深セン)、中国 (張家口)、およびシンガポールリージョンでのみ利用できます。
ワークフローの作成
対象のワークスペースの [操作] 列で、[コンソール] をクリックします。
左側のナビゲーションウィンドウで、 を選択します。
[ワークフローの作成] をクリックし、必要な情報を入力します。
パラメーター
説明
ワークフロー名
ワークフロー名は、現在のプロジェクト内で一意である必要があります。
変数設定
事前設定された値に基づくデータ計算をサポートします。
変数名:カスタムの変数名 (例:
${date})。変数値:静的な日付、時刻フォーマット、または式。
以下のシステム時間変数がサポートされています:
変数名は
system.biz.dateで、値は${system.biz.date}です。この変数は、日次スケジュールインスタンスのスケジュール実行日の前日を表します。フォーマットはyyyyMMddです。変数名は
system.biz.curdateで、値は${system.biz.curdate}です。この変数は、日次スケジュールインスタンスのスケジュール実行時間を表し、年、月、日が含まれます。フォーマットはyyyyMMddです。変数名は
system.datetimeで、値は${system.datetime}です。この変数は、日次スケジュールインスタンスのスケジュール実行時間を表し、年、月、日、時、分、秒が含まれます。フォーマットはyyyyMMddHHmmssです。
説明マテリアライズドテーブルのワークフローを作成する場合、このパラメーターを設定する必要はありません。
これらのパラメーターは、ノードに関連付けられているすべてのジョブに対して有効です。ワークフローレベルの設定は、ジョブレベルの設定よりも優先されます。
スケジュールタイプ
2 つのスケジュールタイプがサポートされています:
[手動トリガー]:[トリガー実行] をクリックしてワークフローを手動で実行します。このタイプは、一時的なテストや即時処理に適しています。
[定期スケジュール]:スケジューラルールに基づいてワークフローをトリガーします。分、時、日などのスケジュールされた間隔でワークフローを実行できます。
重要マテリアライズドテーブルノードを含むワークフローには、[定期スケジュール] を選択してください。
スケジュール期間
このパラメーターは、[定期スケジュール] タイプの場合にのみ必須です。cron 式を使用して複雑なルールを設定できます。例:
0 0 */4 ? * *:4 時間ごとに実行します。0 0 2 ? * *:毎日 02:00 に実行します。0 0 5,17 ? * MON-FRI:月曜日から金曜日の 05:00 と 17:00 に実行します。
スケジュール開始時刻
スケジュールが有効になる時刻です。このパラメーターは、[定期スケジュール] タイプの場合にのみ必須です。
重要定期スケジュールのワークフローを作成した後、有効な時刻にワークフローをトリガーするには、[スケジュールステータス] を有効にする必要があります。
スケジュール開始時刻を設定する際は、必ず未来の時刻に設定してください。そうしないと、スケジュールウィンドウを逃してしまい、タスクがドライランを実行したり、失敗したりする可能性があります。
失敗時のリトライ
ワークフロー内の失敗したノードをリトライする回数です。デフォルトでは、失敗したノードはリトライされません。
失敗通知
ワークフローノードが失敗したときに通知を受け取るデフォルトのメールアドレスです。
説明CloudMonitor を使用して、DingTalk やショートメッセージ経由でアラートを送信するように設定できます。詳細については、「アラート監視の設定」をご参照ください。
リソースキュー
ワークフローのデプロイメント先です。詳細については、「リソースキューの管理」をご参照ください。この設定は、デフォルトですべてのノードに適用されます。ノードに対して追加の設定を行う必要はありません。
説明この設定は、対応するデプロイ済みのバッチジョブのデプロイメント先を変更するものではありません。
タグ
ワークフローにタグキーとタグ値を設定できます。
[作成] をクリックします。
ワークフローノード編集ページにリダイレクトされます。
ワークフローの初期ノードを設定します。
ワークフローノード編集ページには、デフォルトで初期ノードが存在します。初期ノードをクリックします。表示される [ノードの編集] パネルで、ノードパラメーターを設定し、[保存] をクリックします。
ジョブ
パラメーター
説明
ジョブ
現在のプロジェクトでデプロイ済みのバッチジョブのみを選択できます。あいまい検索がサポートされています。
ノード名
現在のワークフローにおけるノードの名前です。
上流ノード
現在のノードの上流依存関係です。現在のワークフロー内の他のノードのみを選択できます。
説明初期ノードには上流依存関係はありません。上流ノードを選択することはできません。
失敗時のリトライ
失敗したノードをリトライする回数です。デフォルトでは、この値はワークフローのリトライ回数と同じです。このパラメーターを設定した場合、ノードレベルの設定が優先されます。
ステータスサブスクリプション
ノードステータスのサブスクリプションポリシーと通知先のメールアドレスを設定します。[起動] と [失敗] のステータスをサブスクライブできます。
タイムアウト
ノード実行のタイムアウト期間です。実行時間がこの期間を超えた場合、ノードは失敗したと見なされます。
リソースキュー
ノードのデプロイメント先です。詳細については、「リソースキューの管理」をご参照ください。このパラメーターを空のままにした場合、ワークフローに設定されたリソースキューが使用されます。
説明この設定は、対応するデプロイ済みのバッチジョブのデプロイメント先を変更するものではありません。
タグ
ワークフローノードにタグキーとタグ値を設定できます。
マテリアライズドテーブル
パラメーター
説明
マテリアライズドテーブル
Ververica Runtime (VVR) 11.0 以降で作成され、リフレッシュモードがストリームであるパーティションテーブルのみを選択できます。
ノード名
現在のワークフローにおけるノードの名前です。
時間パーティション
パーティションフィールド:マテリアライズドテーブルの時間パーティションフィールドの値です。
パーティションフォーマット:例:
yyyyMMdd。
リソース設定
スケジュールされたバックフィルに使用するリソース量をカスタマイズできます。並列度については、[自動推論] を選択して、適切な並列度に自動的に適応させることができます。
上流ノード
現在のノードの上流依存関係です。現在のワークフロー内の他のノードのみを選択できます。
説明初期ノードには上流依存関係はありません。上流ノードを選択することはできません。
マテリアライズドテーブルノードが作成されると、その子孫ノードはデータリネージに基づいて自動的に推論されます。
失敗時のリトライ
失敗したノードをリトライする回数です。デフォルトでは、この値はワークフローのリトライ回数と同じです。このパラメーターを設定した場合、ノードレベルの設定が優先されます。
ステータスサブスクリプション
ノードステータスのサブスクリプションポリシーと通知先のメールアドレスを設定します。[起動] と [失敗] のステータスをサブスクライブできます。
タイムアウト
ノード実行のタイムアウト期間です。実行時間がこの期間を超えた場合、ノードは失敗したと見なされます。
リソースキュー
ノードのデプロイメント先です。詳細については、「リソースキューの管理」をご参照ください。このパラメーターを空のままにした場合、ワークフローに設定されたリソースキューが使用されます。
説明この設定は、対応するデプロイ済みのマテリアライズドテーブルのデプロイメント先を変更するものではありません。
タグ
ワークフローノードにタグキーとタグ値を設定できます。
説明マテリアライズドテーブルノードを作成すると、マテリアライズドテーブルのデータリネージに基づいて子孫ノードを迅速に構築するためのダイアログボックスが表示されます。必要なノードを選択して、迅速に作成できます。
子孫ノードにも同じ制限が適用されます。VVR 11.0 以降で作成され、ストリームリフレッシュモードでフレッシュネスが 30 分未満のパーティションテーブルのみを選択できます。
(オプション) ページ下部の [ノードの追加] をクリックして、さらにノードを追加します。
ワークフロー設定を保存します。
ノード編集ページの右上隅にある [保存] をクリックします。
表示されるダイアログボックスで、[OK] をクリックします。
ワークフローの実行
ワークフローが実行されるたびに、ワークフロー詳細ページの [ワークフローインスタンスリストと詳細] タブにワークフローインスタンスが生成されます。
手動トリガー:ワークフローを即座に 1 回実行します。この方法は、一時的なテストや即時のデータ処理に適しています。
対象のワークフローの [操作] 列で、[トリガー実行] をクリックします。表示されるダイアログボックスで、[手動実行] を選択し、[OK] をクリックします。この操作を行うたびに、ワークフローが 1 回トリガーされて実行されます。
定期スケジュール:この機能を有効にすると、スケジュールされた時刻にワークフローがトリガーされます。
有効な時刻にワークフローをトリガーするには、ワークフローの [スケジュールステータス] を有効にする必要があります。
特定の期間の履歴データをバックフィルしたり、特定のパーティションのデータを再処理したりするには、[データバックフィル] 機能を使用できます。
データバックフィル
データバックフィルは、特定の期間のデータを補完または更新します。この機能は主に、上流ソースからの履歴データの再送信、ディメンションテーブルの修正、新しいインターフェイスの追加などのシナリオで使用されます。
データバックフィルの実行
対象のワークスペースの [操作] 列で、[コンソール] をクリックします。
左側のナビゲーションウィンドウで、 を選択します。
対象のワークフローの [操作] 列で、[トリガー実行] をクリックします。
[トリガー実行] ダイアログボックスで、スケジュール方法として [データバックフィル] を選択し、スケジュールパラメーターを設定します。

パラメーター
説明
時間間隔
時間期間はワークフローの時間変数に渡され、その時間期間のパーティション内のデータをリフレッシュします。
リソースキュー
データバックフィルタスクが実行されるターゲットキューです。デフォルトのキューは
default-queueです。[OK] をクリックします。
データバックフィルインスタンスの管理
データバックフィルインスタンスは、ワークフローインスタンスと同じ方法で管理されます。詳細については、「ワークフローインスタンスとノードインスタンスの管理」をご参照ください。以下の手順でデータバックフィルの例を表示できます。
対象のワークフローの名前をクリックして、ワークフローインスタンスページに移動します。

[ワークフローインスタンスリストと詳細] タブで、データバックフィルインスタンスの実行時間とステータスを確認できます。
ワークフローのステータス
[実行ステータス] 列で、ワークフローのすべてのインスタンスの実行ステータスを確認できます。たとえば、ワークフローが 1 日に 1 回、5 日間実行される場合、5 つのワークフローインスタンスが生成されます。[実行ステータス] 列には、これら 5 つのワークフローインスタンスの実行ステータスの統計的な概要が表示されます。
ステータス | 説明 |
紫 | キューイング |
青 | 実行中 |
緑 | 成功 |
赤 | 失敗 |
ワークフローの編集
対象のワークスペースの [操作] 列で、[コンソール] をクリックします。
左側のナビゲーションウィンドウで、[タスクオーケストレーション] をクリックします。
対象のワークフローの [操作] 列で、[ワークフローの編集] をクリックします。
パラメーター設定の詳細については、「ワークフローの作成」をご参照ください。
説明ワークフローの [スケジュールステータス] が [有効] の場合、ワークフローを編集することはできません。
関連ドキュメント
DataWorks プラットフォームで Flink SQL バッチタスクをスケジュールできます。詳細については、「Flink SQL バッチノード」および「ノードスケジューリング設定」をご参照ください。
タスクオーケストレーションの基本概念の詳細については、「タスクオーケストレーション (パブリックプレビュー)」をご参照ください。
ワークフローインスタンスとノードログを表示するには、「ワークフローインスタンスとノードインスタンスの管理」をご参照ください。
リソースキューを追加して、リソースを分離および管理できます。詳細については、「リソースキューの管理」をご参照ください。
バッチジョブ (SQL、JAR、Python) のデプロイ方法の詳細については、「ジョブのデプロイ」をご参照ください。