ワークフローを定期的に実行する必要はなく、タスクを本番環境にデプロイする必要がある場合は、手動トリガーワークフローを作成できます。このトピックでは、手動トリガーワークフローの作成方法と本番環境へのデプロイ方法について説明します。
注意事項
手動トリガーワークフローはオンデマンドでのみ実行でき、自動スケジューリングには対応していません。
手動トリガーワークフロー内のノード間の線は実行順序を表しており、スケジューリング依存関係ではありません。
手動トリガーワークフローはスケジュールされたワークフローとは異なります。詳細については、「ワークフロー」をご参照ください。
手動トリガーワークフローの設計
ワークフローの作成
DataWorks コンソールのワークスペースページに移動します。上部ナビゲーションバーで目的のリージョンを選択し、目的のワークスペースを見つけ、操作列でを選択します。
左側のナビゲーションウィンドウで
をクリックします。手動トリガーワークフローの右側にあるをクリックします。ワークフローの名前を指定し、Confirmをクリックしてワークフローエディターページを開きます。
ノードのオーケストレーション
ワークフローエディターの上部で、New Internal Nodeをクリックします。内部ノードのTypeを選択し、Nameを指定して、Confirmをクリックします。これにより、キャンバス上にノードが表示されます。
必要に応じて手動トリガーワークフローを計画します。
ワークフローを設計する際、多数のノードがランタイムパフォーマンスに影響を与える可能性があります。最適なパフォーマンスを得るため、単一のワークフローには 100 ノード以下を推奨します。ワークフロー内に最大 200 ノードまで作成できます。
ワークフローパラメーターの構成
ワークフロー内のすべてのノードでパラメーターを共有するには、キャンバス右側のScheduling Settings > Scheduling Parametersペインに移動し、Add parametersをクリックします。その後、ノードコード内で
${Parameter name}形式でパラメーターを参照できます。説明スケジュールされたワークフローのパラメーター優先度ルールとは異なり、内部ノードにワークフロー全体のパラメーターと同じ名前のスケジューリングパラメーターが構成されている場合、ワークフロー全体のパラメーターが優先されます。
優先度と同時実行数(高度な構成)
複数のワークフローやタスクが同時にトリガーされ、システムリソースボトルネックが発生した場合、Priorityおよび重み付けポリシーを使用してインテリジェントなリソーススケジューリングを実現できます。これにより、最も重要なタスクが最初に実行されます。
コアビジネスの業務継続性を確保:コアビジネスのワークフローに高い優先度を割り当てることで、非コアビジネスのワークフローよりも常に先に実行されるようにします。
重要ワークフローの実行時間を短縮:単一のワークフローインスタンス内で、Priority weighting strategyを使用してノードの実行順序に影響を与えます。たとえば、下方重み付けポリシーでは、より多くの上流依存関係を持つクリティカルパス上のノードに高い動的重みが割り当てられます。これにより、これらのノードの実行が優先され、ワークフローの合計実行時間が効果的に短縮されます。
パラメーター
説明
Priority
スケジューリングキュー内でのワークフローインスタンスの絶対的な優先度レベルを定義します。利用可能なレベルは 1、3、5、7、8 で、数値が高いほど優先度が高くなります。優先度の高いタスクまたはワークフローは、常に優先度の低いものよりも先にスケジューリングリソースを受け取ります。
Priority weighting strategy
同じ優先度レベルのワークフローにおいて、各ノード(タスク)の動的重みをどのように計算するかを定義します。重みの高いノードから先に実行されます。
重み付けなし:すべてのノードは固定の基本重みを持ちます。
下方重み付け:システムがノードの重みを動的に調整します。ノードの上流依存関係が多いほど、その重みが高くなります。このポリシーは、有向非循環グラフ(DAG)のクリティカルパス上のノードの実行を優先するのに役立ちます。重みは次のように計算されます:
初期重み + すべての上流ノードの優先度の合計。
Max Parallel Instances
同時実行制御およびリソース保護のために、このワークフローが同時に実行できるインスタンスの最大数を制御します。実行中のインスタンス数が上限に達すると、新たにトリガーされたインスタンスは待機状態になります。Allowedに設定するか、最大 100,000 までのカスタム最大値を指定できます。
説明構成された上限がリソースグループの最大容量を超える場合、リソースグループの物理的上限が実際の同時実行ボトルネックとなります。
DataWorks の優先度システムは、階層的なオーバーライドルールに従います:
ランタイム仕様>ノードレベルの構成>ワークフローレベルの構成。ワークフローレベルの構成(ベースライン):ワークフローのScheduling Policyで設定され、ワークフロー内のすべてのノードのデフォルトとして機能します。
ノードレベルの構成(ローカル):特定のノードのScheduling Settings > Scheduling Policyで、より高いPriorityを設定して、ワークフローレベルの設定をオーバーライドできます。
ランタイム仕様(一時的):Operation and Maintenance Centerでタスクを手動で実行する際に、Runtime Priority Resetスイッチを使用して一時的な構成を指定できます。この設定は最高の優先度を持ち、現在の実行にのみ適用され、永続的な構成は変更しません。
ビジネスロジックの開発
DataWorks は基盤となるエンジン機能をカプセル化しており、複雑なコマンドラインを操作することなく、エンジンノードを使用してデータ開発を実行できます。また、プラットフォームの汎用ノードを使用して複雑なロジックを処理することも可能です。
ワークフロー内では、同期ノードやコンピュートノードなどのノードを使用して、特定のビジネスプロセスを開発できます。
手動トリガーワークフローのデプロイ
標準モードのワークスペースでは、データ開発インターフェイスはタスクノードの開発およびテスト専用です。コードを本番環境にデプロイするには、ワークフローを直接デプロイします。これにより、ワークフロー内のすべてのノードがバッチでデプロイされます。
ワークフローのキャンバス上部で、Runをクリックします。表示されたページで、各ノードが正常に実行されることをテストします。
ワークフロー実行ページで、上部のReturnをクリックし、次にPublishをクリックします。
Start Release Productionをクリックした後、Incremental PublishまたはFull Publishingを選択します。
Incremental Publish:選択した内部ノードをデプロイします。
Full Publishing:ワークフロー全体とそのすべての内部ノードをデプロイします。
デプロイメントプロセスでは、次のステップを順に完了します:パッケージのビルド、開発チェッカー、開発環境へのデプロイ、本番チェッカー、および本番環境へのデプロイ。
本番環境での実行
デプロイが完了したら、デプロイページでGo to operation and maintenanceをクリックしてワークフローを表示します。
説明または、DataWorks ワークスペース一覧に移動します。上部ナビゲーションバーで対象のリージョンに切り替え、ご利用のワークスペースを見つけ、Operation列でをクリックします。左側のナビゲーションウィンドウで、Manually Triggered Task O&Mをクリックします。
対象タスクのOperation列で、Runをクリックします。
その他の操作
ワークフローのクローン
クローン機能を使用して、既存のワークフローから新しいワークフローを迅速に作成できます。クローンされる内容には、ワークフローとその内部ノード(コード、Run Configuration、およびScheduling Settingsを含む)、ノード間の依存関係、およびワークフロー自身のScheduling Settingsが含まれます。
左側のManual Workflowリストで、クローンしたいワークフローの名前を右クリックします。
ショートカットメニューから、Cloningを選択してクローンダイアログボックスを開きます。
ダイアログボックスで、ワークフローのNameとPathを変更(またはデフォルト値のまま)し、Confirmをクリックしてクローンを開始します。
クローン中、ダイアログボックスでProgress、Duration、および完了済みノードなどの詳細を表示できます。
クローンが完了すると、新しい手動トリガーワークフローがManual Workflowリストに表示されます。
バージョン管理
バージョン管理を使用すると、バージョンを表示・比較・復元して差分を分析し、調整を行うことができます。
左側のManual Workflowリストで、対象ワークフローの名前をダブルクリックしてキャンバスを開きます。
ワークフローのキャンバス右側で、Versionをクリックします。Versionペインで、Developer RecordおよびPublish Recordを表示・管理できます。
View:
Developer RecordまたはPublish Recordタブで、表示したいバージョンを見つけます。
Operation列で、Viewをクリックします。詳細ページで、ワークフローのコードおよびScheduling Settingsを表示できます。
説明Scheduling Settingsはスクリプトモードまたはビジュアルモードで表示できます。Scheduling Settingsタブの右上隅にあるスイッチを使用して表示モードを変更できます。
Compare:
Developer RecordまたはPublish Recordタブで、手動トリガーワークフローの異なるバージョンを比較できます。以下の例は、開発履歴からバージョンを比較する方法を示しています。
同じ履歴タブ内のバージョンを比較:Developer Recordタブで、2 つのバージョンを選択し、上部のSelect Comparisonをクリックして、バージョン間のコードおよびスケジューリング構成を比較します。
開発履歴のバージョンと別の履歴タブのバージョンを比較:
Developer Recordタブで、ワークフローバージョンを見つけます。
Operation列で、Compareをクリックします。比較するコンテンツの選択ダイアログボックスで、Publish RecordまたはBuild Recordsから比較対象のバージョンを選択します。
Restore:
Developer Recordのバージョンからのみ、手動トリガーワークフローを復元できます。Developer Recordタブで対象バージョンを見つけ、Operation列のRestoreをクリックします。この操作により、ワークフローが選択したバージョンの状態に復元されます。
説明バージョンを復元すると、システムはワークフローを対象バージョンの状態に復元し、新しいバージョンレコードを作成します。