ワークフローは、タスクノードをドラッグアンドドロップで接続して作成できる、視覚的な有向非巡回グラフ (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 に実行します。
cron 式の記述方法の詳細については、「cron 式の記述ルール」をご参照ください。
スケジューリング開始時刻
スケジュールが有効になる時刻。このパラメーターは、[定期スケジュール] タイプの場合にのみ必須です。
重要定期的なワークフローを作成した後、有効な時刻に実行するには、その [スケジューリング状態] を有効にする必要があります。
開始時刻を設定する際は、必ず未来の時刻に設定してください。そうしないと、スケジューリングウィンドウを逃してしまい、タスクがドライランになったり、失敗したりする可能性があります。
失敗時のリトライ回数
ワークフロー内の失敗したノードをリトライする回数。デフォルトでは、失敗したノードはリトライされません。
失敗通知
ワークフローノードが失敗した場合の通知用のデフォルトのメールアドレス。
説明Cloud Monitor を通じて、DingTalk、ショートメッセージ、その他の方法で送信されるアラートを設定できます。詳細については、「モニタリングとアラートの設定」をご参照ください。
リソースキュー
ワークフローのデプロイメントターゲット。詳細については、「リソースキューの管理」をご参照ください。この設定は、デフォルトですべてのノードに適用されます。ノードに追加の設定は必要ありません。
説明この設定は、対応するデプロイ済みのバッチジョブのデプロイメントターゲットを変更しません。
タグ
ワークフローにタグ名とタグ値を設定できます。
[作成] をクリックします。
ワークフローノードエディターページにリダイレクトされます。
ワークフローの初期ノードを設定します。
デフォルトでは、ワークフローノードエディターページに初期ノードが含まれています。初期ノードをクリックし、[ノードの編集] パネルでパラメーターを設定してから、[保存] をクリックします。
ジョブ
パラメーター
説明
ジョブ
現在のプロジェクトからデプロイ済みのバッチジョブのみを選択できます。あいまい検索がサポートされています。
ノード名
現在のワークフロー内のノードの名前。
上流ノード
現在のノードの上流依存関係。現在のワークフロー内の他のノードのみを選択できます。
説明初期ノードには上流依存関係がなく、上流ノードの選択はサポートされていません。
失敗時のリトライ回数
失敗したノードをリトライする回数。デフォルトでは、ワークフローのリトライ回数と同じです。設定した場合、ノードレベルの設定が優先されます。
ステータスサブスクリプション
ノードのステータスサブスクリプションポリシーと通知メールを設定します。[開始] と [失敗] ステータスのサブスクリプションがサポートされています。
タイムアウト
ノード実行のタイムアウト期間。実行時間がこの期間を超えると、ノードは失敗したと見なされます。
リソースキュー
ノードのデプロイメントターゲット。詳細については、「リソースキューの管理」をご参照ください。指定しない場合、ワークフローに設定されたリソースキューがデフォルトで使用されます。
説明この設定は、対応するデプロイ済みのバッチジョブのデプロイメントターゲットを変更しません。
タグ
ワークフローノードにタグ名とタグ値を設定できます。
マテリアライズドテーブル
パラメーター
説明
マテリアライズドテーブル
Ververica Runtime (VVR) 11.0 以降で作成され、ストリームリフレッシュモードを持つパーティションテーブルのみを選択できます。
ノード名
現在のワークフロー内のノードの名前。
時間パーティション
パーティションフィールド: マテリアライズドテーブルの時間パーティションフィールド。
パーティションフォーマット: 例:
yyyyMMdd。
リソース設定
スケジュールされたバックフィルに使用されるリソース量をカスタマイズできます。並列度については、[自動推論] をチェックして、適切な並列度に自動的に適応させることができます。
上流ノード
現在のノードの上流依存関係。現在のワークフロー内の他のノードのみを選択できます。
説明初期ノードには上流依存関係がなく、上流ノードの選択はサポートされていません。
マテリアライズドテーブルノードが作成されると、データリネージに基づいて子孫ノードが自動的に推論されます。
失敗時のリトライ回数
失敗したノードをリトライする回数。デフォルトでは、ワークフローのリトライ回数と同じです。設定した場合、ノードレベルの設定が優先されます。
ステータスサブスクリプション
ノードのステータスサブスクリプションポリシーと通知メールを設定します。[開始] と [失敗] ステータスのサブスクリプションがサポートされています。
タイムアウト
ノード実行のタイムアウト期間。実行時間がこの期間を超えると、ノードは失敗したと見なされます。
リソースキュー
ノードのデプロイメントターゲット。詳細については、「リソースキューの管理」をご参照ください。指定しない場合、ワークフローに設定されたリソースキューがデフォルトで使用されます。
説明この設定は、対応するデプロイ済みのマテリアライズドテーブルのデプロイメントターゲットを変更しません。
タグ
ワークフローノードにタグ名とタグ値を設定できます。
説明マテリアライズドテーブルノードを作成すると、ダイアログボックスが表示されます。このダイアログボックスは、マテリアライズドテーブルのデータリネージを使用して、子孫ノードを迅速に構築するのに役立ちます。その後、対応するノードを選択して迅速に作成できます。
子孫ノードも同じ制限を受けます。VVR 11.0 以降で作成され、フレッシュネスが 30 分未満のストリームリフレッシュモードを使用するパーティションテーブルのみを選択できます。
(任意) ページ下部の [ノードの追加] をクリックして、さらにノードを追加します。
ワークフロー設定を保存します。
ノードエディターページの右上隅にある [保存] をクリックします。
表示されるダイアログボックスで、[OK] をクリックします。
ワークフローの実行
ワークフローが実行されるたびに、ワークフロー詳細ページの [ワークフローインスタンスリストと詳細] タブにワークフローインスタンスが生成されます。
手動トリガー: 現在のワークフロータスクをすぐに 1 回実行します。この方法は、一時的なテストや即時処理に適しています。
対象のワークフローの [操作] 列で、[実行] をクリックします。表示されるダイアログボックスで [手動実行] を選択し、[OK] をクリックします。この操作を行うたびに、ワークフローが 1 回実行されます。
定期スケジュール: 定期スケジュールを開始すると、指定した時刻にワークフロータスクがトリガーされます。
指定した有効時刻にワークフローを実行するには、その [スケジューリング状態] を有効にする必要があります。
既存データをバックフィルしたり、特定の期間の特定のパーティションのデータを再処理したりするには、データバックフィル機能を使用できます。
データバックフィル
データバックフィルは、特定の期間内のデータを補完または更新します。主に、上流からの既存データの再送信、ディメンションテーブルの修正、新しいインターフェイスの追加などのシナリオで使用されます。
データバックフィルの実行
対象のワークスペースの [操作] 列で、[コンソール] をクリックします。
左側のナビゲーションウィンドウで、 を選択します。
対象のワークフローの [操作] 列で、[実行] をクリックします。
[実行] ダイアログボックスで、スケジューリング方法として [データバックフィル] を選択し、スケジューリング情報を設定します。

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

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