すべてのプロダクト
Search
ドキュメントセンター

DataWorks:ワークフローの概要

最終更新日:Aug 18, 2026

ワークフローは、タスクノードをドラッグアンドドロップで視覚的な有向非巡回グラフ (DAG) に編成し、依存関係とスケジューリングを確立することで、データ処理を自動化し、信頼性の高いデータパイプラインを構築します。

基本概念

ワークフローは、DataWorks における中核的なオーケストレーションの単位です。SQL、Shell、Python、データ同期、チェックなどのタスクノードを、明確な依存関係を持つ有向非巡回グラフ (DAG) に編成し、統一されたスケジューリングと実行を可能にします。また、ワークフローを組み合わせることで、複雑なビジネスシナリオをサポートすることもできます。

個別のタスクを構造化されたプロセスに統合することで、ワークフローは管理の焦点を個々のタスクからデータパイプライン全体へと移行させます。主な利点は次のとおりです:

  • 開発プロセスの抽象化と可視化
    SQL や Shell タスクなどの依存ノードを、「日次アクティブユーザー分析」のようなビジネス指向のワークフローにカプセル化します。これにより、明確な DAG が作成され、技術リネージが明らかになります。また、技術者でない関係者がデータフローを理解し、ビジネス目標と技術的な実装を整合させるのにも役立ちます。

  • 開発と運用保守 (O&M) のアトミックな管理
    ワークフローは、変更と操作の最小単位として機能します。テスト、再実行、データバックフィルなどの全体的な送信、デプロイメント、運用保守 (O&M) タスクをサポートします。このアプローチは、部分的な変更から生じる可能性のある本番環境の問題を防ぎ、エンドツーエンドの一貫性と安定性を保証します。

  • チームコラボレーションの境界の定義
    複数チームの環境では、ワークフローによって所有権と責任が明確になります。たとえば、取引チームは取引データワークフローを、製品チームは製品データワークフローをそれぞれ所有できます。これにより、権限分離と問題追跡が可能になります。標準化された出力は、アップストリームとダウンストリームのチーム間の効率的で疎結合なコラボレーションもサポートします。

ワークフロータイプの比較

DataWorks では、次の 2 種類のワークフローを推奨します:

  • スケジュールワークフロー:固定されたスケジュール (時間単位、日単位、週単位) で自動的に実行されます。スケジューリングルールによってトリガーされ、ノードの実行はスケジュールされた時刻によって制御されます。定期的なデータ処理に適しています。

  • イベントトリガーワークフロー:外部シグナル (手動操作、OpenAPI 呼び出し、またはイベントメッセージ) によってオンデマンドでトリガーされます。固定スケジュールに依存しません。手動、API、イベントによるトリガーをサポートします。リアルタイム処理や外部イベントへの応答に適しています。

機能

スケジュールワークフロー

イベントトリガーワークフロー

手動ワークフロー (非推奨)

スケジューリング方法

スケジュールされた時刻と依存関係によってトリガー

手動/イベント/API トリガー

手動実行

ユースケース

日次/時間単位/週次/月次のバッチ処理

リアルタイム処理/オンデマンド実行/外部連携

アドホックタスク (レガシー互換性のため)

パラメーターの優先度

ノード > ワークフロー > ワークスペース

ノード > ワークフロー > ワークスペース

ワークフロー > ノード

典型的な例

深夜の T+1 日次レポート

OSS ファイル到着時の自動処理

1 回限りのデータ修正

  • トリガーが設定されていないイベントトリガーワークフローは、手動実行ワークフローとしても使用でき、徐々に手動ワークフローを置き換えていきます。

  • 手動ワークフローは、主にレガシーなデータ開発モードとの互換性のために使用されます。新規プロジェクトでの使用は推奨しません。

クイック選択ガイド

次の 3 つの質問に答えることで、適切なワークフロータイプを迅速に判断できます:

image

よくある質問

ワークフローの Spec テンプレートを取得する方法

Data Studio ページで既存のワークフローを開き、キャンバスの右上隅にある [Show Spec] をクリックして、ワークフローの Spec (JSON 形式) を表示してコピーします。この Spec をテンプレートとして使用し、OpenAPI を通じてワークフローを作成または更新できます。

スケジュールされたタスクは、一度成功した後に自動的に停止できますか?

いいえ。スケジュールワークフローは設定されたスケジュールに基づいて継続的に実行され、一度成功しても自動的に停止しません。タスクを一度だけ実行したい場合は、次のいずれかの方法を使用します:

  • タスクを手動でフリーズする:タスクが成功した後、手動でフリーズします。フリーズされたタスクはスケジューリングの対象外となります。詳細については、「タスクのフリーズ」をご参照ください。

  • イベントトリガーワークフローを使用する:ビジネスシナリオで一度だけの実行が必要な場合は、イベントトリガーワークフローがより適しています。イベントトリガーワークフローはスケジュールに縛られず、手動でのトリガー、API 経由での呼び出し、またはイベントによるトリガーがあった場合にのみ実行されるため、一度実行して停止するというニーズを本質的に満たします。

関連ドキュメント

シナリオに基づいて関連ドキュメントを選択してください: