DataWorks は、ノードが定期的に実行されるようにスケジュールされている自動トリガーワークフローを提供します。このトピックでは、自動トリガーワークフローの使用方法について説明します。
背景情報
ワークフローは、データ処理プロセス用の自動管理ツールの一種です。ワークフローの構成タブでさまざまな種類のノードをドラッグして、ノードのスケジューリング依存関係を簡単に構成できます。これは、データ処理プロセスの構築を加速し、タスク開発効率を効果的に向上させるのに役立ちます。
サポートされているスケジューリングの依存関係
自動トリガーワークフローのスケジューリング依存関係の構成は、一般的なノードの構成とよく似ています。自動トリガーワークフロー内のノード、または自動トリガーワークフロー全体は、他のノードに依存したり、他のノードから依存されたりすることができます。次の依存関係がサポートされています。
ワークフロー全体は、他の独立したタスクまたはワークフローから依存される可能性があります。
ワークフロー全体は、他の独立したタスクまたはワークフローに依存する可能性があります。
自動トリガーワークフロー内のタスクは、他の独立したタスクまたはワークフローに依存する可能性があります。
自動トリガーワークフロー内のタスクは、他の独立したタスクまたはワークフローから依存される可能性があります。
実行プロセスにおける自動トリガーワークフローの状態変化
自動トリガーワークフローのスケジュール時刻を指定できます。自動トリガーワークフロー内のノードの実行は、スケジュール時刻の影響を受けます。ノードが自動トリガーワークフローに依存している場合、ノードの実行は自動トリガーワークフローのスケジュール時刻の影響を受けます。スケジューリングシナリオでは、自動トリガーワークフローの状態は、ワークフロー内のタスクの状態の影響を受けます。
特別なシナリオ:
ワークフロー内のインスタンスが凍結または一時停止されている場合、ワークフローインスタンス全体が失敗状態になります。
ワークフロー内のタスクに対して生成されたデータバックフィルインスタンスが凍結されている場合、ワークフローインスタンスは成功状態になります。
データバックフィルシナリオでタスクを実行できない場合、タスクが属するワークフローは失敗状態になります。
インスタンスの状態が変化する時刻と、障害イベントが実際に生成される時刻の間には、時間差があります。
ワークフローにマージノードが存在する場合、マージノードの上位ノードが失敗する可能性があります。この場合、マージノードが成功状態にあるかどうかによって、ワークフローが成功状態にあるかどうかを確認できます。
自動トリガーワークフロー内のノードの実行時間とパラメーターの置き換え
ワークフロー内のノードの [スケジューリングサイクル] を構成する必要はありません。ワークフロー内のノードの [遅延実行時間] のみ構成する必要があります。遅延実行時間は、ワークフロー内のノードがワークフローのスケジュール時刻から遅延される時間の長さを示します。
ワークフロー内のノードの実際の実行時間は、ノードに構成された [遅延実行時間] とワークフローに構成された [スケジュール時間] に基づいて計算されます。
ワークフロー内のノードのスケジューリングパラメーターの値の割り当ては、ワークフローの全体的なスケジュール時間に基づいて決定されますが、遅延後の時間に基づいて決定されるわけではありません。
注意事項
新バージョンの Data Studio のみ、自動トリガーワークフローをサポートしています。
ワークフローを作成するときは、スケジューリングタイプとして [定期スケジューリング] を選択します。
参照可能なワークフローは、別のワークフローに依存したり、本番環境にデプロイされた後に自動的にスケジュールされたりすることはできません。
重要参照可能なワークフローは、別のワークフローに依存したり、別のワークフローから依存されたりすることはできません。ワークフロー内のノードは、ワークフローに属さない他のノードに依存したり、ワークスペースのルートノードなどの他のノードから依存されたりすることはできません。そうでない場合、参照可能ワークフローをデプロイすると、エラーが報告され、ワークフローを期待どおりにデプロイできません。
参照可能なワークフローが本番環境にデプロイされた後、SUB_PROCESS ノード を使用して別のワークフローによって参照されるまで、ワークフローは自動的にスケジュールされません。
ワークフロー作成ページに移動する
DataWorks コンソールの [ワークスペース] ページに移動します。上部のナビゲーションバーで、目的のリージョンを選択します。目的のワークスペースを見つけ、[アクション] 列で を選択します。
Data Studio ページの左側のナビゲーションウィンドウで、
アイコンをクリックします。DATA STUDIO ウィンドウの [ワークスペースディレクトリ] セクションで、右側にある
アイコンをクリックし、[ワークフローの作成] を選択します。説明DATA STUDIO ウィンドウの [ワークスペースディレクトリ] セクションで初めて操作を実行する場合は、[ワークフローの作成] を直接クリックしてワークフローを作成できます。
自動トリガーワークフローを作成する
[ワークフローの作成] ページで、スケジューリングタイプとして [定期スケジューリング] を選択します。
説明自動トリガーワークフローを使用すると、タスクがトリガーされる頻度を定義できます。指定された時刻にタスクを自動的に実行するようにスケジュールを指定できます。
トリガーベースのワークフローを作成するには、「トリガーベースのワークフロー」を参照してください。
ワークフロー名を入力し、[OK] をクリックして作成します。
自動トリガーワークフローを設計する
ワークフローの構成タブの左側で、開発するタスクのタイプに基づいてノードタイプを選択し、ノードタイプを右側のキャンバスにドラッグします。次に、手動で線をドラッグして、ノード間のスケジューリングの依存関係を構成します。
DataWorks は、さまざまな計算エンジンの機能をさまざまなタイプのノードにカプセル化します。さまざまな計算エンジンのタイプのノードを使用して、計算エンジンで複雑なコマンドを実行する必要なく、視覚化された方法でデータを開発できます。また、DataWorks の一般的なノードを使用して、複雑なロジックを設計することもできます。
1 つのワークフローには最大 400 個のノードを含めることができます。読みやすさと保守性を向上させるために、ノード数を 100 未満に保つことをお勧めします。
自動トリガーワークフローを開発する
次の手順を実行して、ワークフローを開発できます。また、ワークフロー間の参照を構成し、ワークフローパラメーターをワークフロー内のノードのパラメーターに透過的に渡すこともできます。詳細については、「付録:ワークフローの参照」を参照してください。
ワークフロー内のノードの構成タブに移動します。
ワークフローの構成タブで、ポインターを目的のノードの上に移動し、[ノードを開く] をクリックして、ノードの構成タブに移動します。
ノードを開発します。
ノードの構成タブで、ノードコードを編集します。コード開発中は、次の項目に注意してください。
コード構文は、選択したノードタイプによって異なります。タスクの種類によって、スケジューリング構成が異なります。詳細については、「ノード開発」を参照してください。
インテリジェントプログラミングアシスタント Copilot を有効にして、インテリジェントなコード補完の提案を取得し、開発効率を向上させることができます。
ほとんどのノードタイプでは、
${変数名}形式で変数を定義できます。このようにして、タスクコードのデバッグを容易にするために、さまざまなスケジューリングパラメーターを変数に値として割り当てることができます。ワークフローでスケジューリングノードを実行する場合、ノードのコードエディターで
${workflow.[パラメーター名]}の形式でワークフローパラメーターを定義して、ワークフローパラメーターの値を取得できます。
ノードをデバッグして実行します。
デバッグパラメーターを構成します。コードを編集した後、ノードの構成タブの右側のナビゲーションウィンドウで [デバッグ構成] タブをクリックして、デバッグパラメーターを構成できます。
[計算リソース] セクションで、デバッグするノードのタスクの計算リソースを指定します。
[DataWorks 構成] セクションで、DataWorks でタスクを実行するために使用されるリソースグループを指定します。
ノードコードで
${変数名}形式で変数を定義した場合は、スクリプトパラメーターセクションで変数に定数を割り当てます。
ノードをデバッグして実行します。構成が完了したら、ノードの構成タブの上部ツールバーにある [実行] をクリックして、デバッグ構成タブで構成されたデバッグパラメーターに基づいてノードを実行します。
自動トリガーワークフローをデバッグする
デバッグが完了したら、ワークフローをデバッグします。
ワークフローの構成タブの上部ツールバーにある
アイコンをクリックします。[ランタイムパラメーターを入力] ダイアログボックスで、[この実行で使用される値] パラメーターを構成し、[OK] をクリックします。ワークフローの構成タブでノードをクリックして、実行結果を表示します。
自動トリガーワークフローをデプロイする
次の手順を参照して、ワークフローとワークフロー内のノードのスケジューリング設定を定義し、ワークフローを本番環境にデプロイして定期的にスケジュールできます。
ワークフロー内のノードのスケジューリング設定を構成します。
ワークフロー内のノードのスケジューリング設定を構成する手順は、基本的に一般的なノードの手順と同じです。詳細については、「スケジューリングの依存関係」を参照してください。ワークフロー内のノードのスケジューリング設定を構成する場合は、次の項目に注意してください。
ワークフロー内のノードのスケジュール時間を個別に構成する必要はありません。代わりに、ワークフロー内のノードの遅延実行時間を構成できます。遅延実行時間は、ノードの実行が関連ワークフローの実行よりも遅れる期間を示します。
ワークフロー内のノードのコードで使用される変数の値は、ワークフローのスケジュール時間に基づいて割り当てられます。
ワークフローのスケジューリング設定を構成します。
ワークフローのスケジューリングパラメーター、スケジュール時間、およびスケジューリングの依存関係を構成します。
ワークフローをデプロイします。
ワークフローの構成タブの上部ツールバーにある
アイコンをクリックします。[デプロイ] タブで、[本番環境へのデプロイを開始] をクリックします。ワークフローは、チェックとデプロイのプロセスに基づいてデプロイされます。詳細については、「ノードまたはワークフローのデプロイ」を参照してください。
次のステップ:ワークフローの O&M
自動トリガーワークフローがデプロイされると、自動トリガーワークフローは定期的にスケジュールされます。本番環境のオペレーションセンターで自動トリガーワークフローの状態を表示し、自動トリガーワークフローで O&M 操作を実行できます。詳細については、「概要」および「データをバックフィルし、データバックフィルインスタンスを表示する(新バージョン)」を参照してください。
付録:ワークフローの参照
シナリオ 1:ワークフローを参照する
ワークフロー内の SUB_PROCESS ノードを使用して、別のワークフローを参照できます。ワークフローを参照可能にするには、次の手順を実行します。ワークフローの構成タブの右側のナビゲーションウィンドウで、[プロパティ] をクリックします。表示されるタブで、[参照可能] をオンにします。
参照可能ワークフローのスケジュール時間は、参照可能ワークフローを参照するワークフローのスケジュール時間によって異なります。
未実行
スケジュール時刻の到着を待機中
実行中
成功
失敗
凍結