📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

タスクフロー



タスクフロー (Task Flow) は TiDB Cloud Lake に組み込まれたワークフローオーケストレーション機能です。これにより、SQL ベースのデータパイプラインを有向非巡回グラフ (DAG) として定義、スケジュール設定、監視できます。グラフ内の各ノードは Task であり、それぞれ独自のスケジュール、依存関係、実行設定を持つ SQL ステートメントです。Flow は複数のタスクをまとめ、自動的に実行順序を管理します。

概要

タスクフローは、従来の Task List をより強力なモデルに置き換えるものです。

機能従来の Task Listタスクフロー
単一 SQL タスク✅✅
複数タスク DAG❌✅
ビジュアルグラフエディタ❌✅
バージョン履歴❌✅
ストリームベースのトリガー❌✅
一括操作❌✅

主要な概念

Task

Task は最小の作業単位です。以下を含みます。

  • 実行する SQL ステートメント
  • スケジュール(手動、間隔、または cron)
  • 他のタスクまたはストリームへの任意の依存関係
  • 高度な設定(失敗しきい値、結果キャッシュ、最小実行間隔)

Flow

Flow は、依存関係を持つタスクの名前付きコレクションです。TiDB Cloud Lake は DAG 構造に基づいて実行順序を自動的に決定します。Flow には以下があります。

  • 名前と割り当てられた Warehouse
  • 定義済みの依存関係を持つ 1 つ以上のタスク
  • ライフサイクル: Created → Started → Suspended → Resumed → Dropped

DAG (Directed Acyclic Graph)

タスク間の依存関係グラフです。Task B が Task A に依存している場合、TiDB Cloud Lake は最初に Task A を実行し、Task A が成功した後にのみ Task B をトリガーします。循環は許可されません。

はじめに

タスクフローの作成

  1. 左側のサイドバーで Data > Task & Flows に移動します。
  2. 右上隅の Create をクリックします。
  3. Flow モーダルで、以下を行います。
    • Flow Name を入力します。
    • タスクを実行する Warehouse を選択します。
  4. Add Task to Flow をクリックして、最初のタスクを追加します。

Task の設定

タスクフォームで、以下を入力します。

Basic Settings

フィールド説明
Task NameFlow 内で一意の名前
Schedule実行タイミング: Manual、Interval(例: 5 分ごと)、または Cron 式
Timezonecron スケジュール評価に使用するタイムゾーン
SQL実行する SQL ステートメント
Comment任意の説明

Dependencies

フィールド説明
Require Tasksこのタスクの実行前に完了している必要がある他のタスク
Require Streamこのタスクがトリガーされる前に新しいデータを持っている必要があるデータベースストリーム

Advanced Options

フィールド説明
Suspend Task After Num FailuresN 回連続で失敗した後にタスクを自動的に一時停止します(0 = しない)
Enable Query Result Cache冗長な計算を避けるためにクエリ結果をキャッシュします
Min Execute Seconds実行間の最小間隔(5s / 10s / 15s / 30s)
  1. Save をクリックして、タスクを Flow に追加します。
  2. 繰り返してさらにタスクを追加します。タスク間の依存関係を定義するには Require Tasks を使用します。
  3. Publish をクリックして Flow を作成します。

Flow の可視化

Flow を作成した後、その名前をクリックして詳細ページを開きます。Latest Run タブに DAG の可視化が表示されます。

各ノードには以下が表示されます。

  • タスク名
  • 最新の実行ステータス(色分け)
  • 実行時間範囲
  • エラーメッセージ(失敗時)

ステータスの色:

色ステータス
青い枠線予定済み
緑の枠線成功
赤い枠線失敗
水色の枠線実行中
灰色の枠線キャンセル済み / 待機中

Flow の管理

Flow の操作

Task & Flows リストでは、各行に次の項目を含むアクションメニューがあります。

アクション説明
EditFlow 名、Warehouse、またはタスクを変更します
Suspendスケジュールされたすべての実行を一時停止します
Resumeスケジュールされた実行を再度有効にします
Execute Once即時の 1 回限りの実行をトリガーします
View Runs History過去のすべての実行を表示します
View Versions History以前のバージョンを参照して比較します
DeleteFlow を完全に削除します

一括操作

チェックボックスを使用して複数の Flow を選択し、一括操作メニューを使用して以下を実行できます。

  • 選択したすべての Flow を一時停止
  • 選択したすべての Flow を再開
  • 選択したすべての Flow を削除

実行の監視

Runs History

詳細ページの Runs History をクリックすると、過去のすべての実行を確認できます。

カラム説明
Task Name実行されたタスク
Warehouse使用された Warehouse
StateScheduled / Executing / Succeeded / Failed / Cancelled
SQL実行された SQL(Query ID リンク付き)
Scheduled Time実行がトリガーされた時刻
Completed Time実行が完了した時刻
Commentタスクコメント

失敗またはキャンセルされた実行にはエラーツールチップが表示されます。エラーをクリックすると、詳細を表示したり、サポートチケットを作成したりできます。

グローバル Task History

Data → Task History に移動すると、組織内のすべての Flow にまたがる実行を確認できます。以下でフィルタできます。

  • タスク名(複数選択)
  • 時間範囲(過去 2 日、過去 3 日)

バージョン管理

Flow への変更を Publish するたびに、TiDB Cloud Lake は新しいバージョンを保存します。バージョン履歴にアクセスするには、以下を実行します。

  1. Flow の詳細ページを開きます。
  2. Versions History タブをクリックします。

バージョンの比較

  1. チェックボックスを使用して 2 つのバージョンを選択します。
  2. Compare をクリックします。
  3. 2 つのバージョン間の変更点を左右に並べて表示する SQL diff ドロワーが開きます。

以前のバージョンへの復元

  1. リストからバージョンを選択します。
  2. Revert をクリックします。
  3. ダイアログで操作を確認します。

Flow は選択したバージョンに復元され、新しいバージョンエントリが作成されます。

スケジュール設定リファレンス

スケジュールタイプ

Manual: タスクは Execute Once でトリガーされた場合にのみ実行されます。自動スケジュールはありません。

Interval: N 分または N 時間ごとに実行します。例: EVERY 5 MINUTE。

Cron: タイムゾーンをサポートする標準的な cron 式です。例: 0 9 * * 1-5(平日の午前 9 時)。

ストリームベースのトリガー

タスクに Require Stream 依存関係がある場合、指定されたストリームに未消費データがあるときにのみ実行されます。これは、テーブル変更(CDC)に反応するイベント駆動型パイプラインの構築に役立ちます。

ベストプラクティス

  • シンプルに始める: 依存関係を追加する前に、まず単一タスクの Flow を作成して SQL を検証します。
  • CDC パイプラインにはストリームを使用する: ストリームトリガーと MERGE INTO 文を組み合わせて、増分データパイプラインを構築します。
  • 失敗しきい値を設定する: Suspend Task After Num Failures を使用して、無制限な再試行による Warehouse クレジットの消費を防ぎます。
  • 結果キャッシュを有効にする: 同じデータを繰り返しクエリするタスクでは、Query Result Cache を有効にしてコンピュートコストを削減します。
  • バージョン履歴を活用する: 大きな変更を加える前に、必要に応じて元に戻せるよう現在のバージョン番号を控えておきます。
  • ワークロードごとに Warehouse を分ける: より重い変換タスクは大きな Warehouse に割り当て、軽量なタスクは小さな Warehouse に割り当てます。

権限

ロール作成編集削除閲覧
account_admin✅✅ (すべて)✅ (すべて)✅
作成者✅✅ (自分のもの)✅ (自分のもの)✅
その他のユーザー❌❌❌✅

このページは役に立ちましたか?