このドキュメントでは、概要レポート (LHMPackageOverview.xls) の高度な機能について説明します。レポートを編集して、ワークフローとノードのスケジューリングプロパティを変更したり、ブラックリストを作成したりできます。
1. LHM 標準スケジューリングパッケージとは
標準スケジューリングパッケージは、LHM スケジューリング移行プロセスの中間プロダクトです。これは、N2N スケジューリング移行のための標準データ構造を持つ統一された記述レイヤーとして機能します。
標準パッケージには、概要レポートファイル (LHMPackageOverview.xls) が含まれています。このファイルには、変換されたワークフロー、ノード、リソース、関数、およびデータソースに関する基本情報が要約されています。
2. 概要レポートの高度な機能
LHM では、概要レポートを編集して、一般的なスケジューリングプロパティを変更したり、ブラックリストを作成したりできます。
2.1 操作の実行方法
次のように操作を実行できます。
概要レポートでの高度な操作は、次の移行段階の初期化フェーズで有効になります。
1. エクスポートツールでパッケージを変更すると、スケジューリング変換ツールが初期化中に変更を取得して適用します。
2. 変換ツールでパッケージを変更すると、宛先インポートツールが初期化中に変更を取得して適用します。
2.2 ワークフローのスケジューリングプロパティの変更
レポートで一部のワークフロープロパティを変更できます。編集可能なフィールドは青色でマークされています。
プロパティ名 | 説明 | タイプ | 値 | 例 |
ID | ワークフロー ID | 読み取り専用 | / | 16373885761152 |
Name | ワークフロー名 | 読み取り専用 | / | TestWorkflow2 |
Path | ワークフローが配置されているパス | 読み取り専用 | / | ds3_0410 |
Owner | / | 読み取り/書き込み | / | admin |
Description | / | 読み取り/書き込み | / | This is a test workflow 123 |
スケジューリングパラメーター | ワークフローレベルのパラメーター | 読み取り/書き込み | JSON フォーマット。パラメーターの変更、追加、削除が可能です。 | {"prop1":"value1","prop2":"value2"} |
スケジューリング情報 | Cron 式 | 読み取り/書き込み | 有効な Cron 式である必要があります。 | 00 00 * * * * ? |
インスタンス生成メソッド | / | 読み取り/書き込み | IMMEDIATELY: 公開直後にインスタンスを生成します。 T_PLUS_1: 翌日 (T+1) にインスタンスを生成します。 | T_PLUS_1 |
ノード数 | / | 読み取り専用 | / | 3 |
ソース ID (ワークフローが移行された場合) | 高度な機能 | 読み取り専用 | / | / |
ノードタイプ別の統計 (複数列) | / | 読み取り専用 | / | / |
2.3 ノードのスケジューリングプロパティの変更
レポートで一部のノードプロパティを変更できます。編集可能なフィールドは青色でマークされています。
プロパティ名 | 説明 | タイプ | 値 | 例 |
ID | / | 読み取り専用 | / | 16373881518720 |
Name | / | 読み取り専用 | / | Node1 |
Owner | / | 読み取り/書き込み | / | admin |
Description | / | 読み取り/書き込み | / | This is a test node 123 |
親ワークフロー ID | / | 読み取り専用 | / | 16373885761152 |
親ワークフロー名 | / | 読み取り専用 | / | TestWorkflow2 |
Type | / | 読み取り/書き込み | / | SQL |
関連データソースタイプ | / | 読み取り/書き込み | / | MYSQL |
関連データソース | / | 読み取り/書き込み | / | test_mysql_123 |
スケジューリングパラメーター1 | ワークフローレベルのパラメーター | 読み取り/書き込み | JSON フォーマット。パラメーターの変更、追加、削除が可能です。 | {"prop1":"value1","prop2":"value2"} |
スクリプトパラメーターの抽出1 | スクリプト内のパラメーターリファレンス | 読み取り/書き込み | JSON フォーマット。パラメーターの変更、追加、削除が可能です。 | {"$(param1)":"${Param1}"} |
スケジューリング情報 | Cron 式 | 読み取り/書き込み | 有効な Cron 式である必要があります。 | 00 00 * * * * ? |
インスタンス生成メソッド | / | 読み取り/書き込み | IMMEDIATELY: 公開直後にインスタンスを生成します。 T_PLUS_1: 翌日 (T+1) にインスタンスを生成します。 | T_PLUS_1 |
スケジューリングタイプ | / | 読み取り/書き込み | NORMAL: 通常スケジューリング PAUSE: スケジュールを一時停止 SKIP: ドライランスケジューリング | NORMAL |
再実行タイプ | / | 読み取り/書き込み | ALL_ALLOWED: 成功した実行と失敗した実行の両方の後に再実行が許可されます。 ALL_DENIED: 成功した実行または失敗した実行の後に再実行は許可されません。 FAILURE_ALLOWED: 成功した実行の後は再実行は許可されませんが、失敗した実行の後は許可されます。 | ALL_ALLOWED |
スケジューリングリソースグループ | DataWorks スケジューリングリソースグループ | 読み取り/書き込み | DataWorks の一般またはスケジューリングリソースグループ ID | Serverless_res_group_580581087550304_692540198941344 |
コンピュート CU | DataWorks コンピュート CU | 読み取り/書き込み | Float | 0.25 |
イメージ | DataWorks イメージ | 読み取り/書き込み | イメージ ID | System_emr_datalake_5151_ 20240731 |
Data Integration リソースグループ (DI のみ) | DataWorks 統合リソースグループ | 読み取り/書き込み | DataWorks の一般または統合リソースグループ ID | Serverless_res_group_580581087550304_692540198941344 |
Data Integration CU (DI のみ) | DataWorks Data Integration CU | 読み取り/書き込み | Float | 0.5 |
ソース ID (ワークフローが移行された場合) | 高度な機能 | 読み取り専用 | / | / |
注 1: 詳細については、セクション 2.3.1「ノードとコードでの変数の処理」をご参照ください。
2.3.1 ノードとコードでの変数の処理
2.3.1.1 スケジューリングエンジン間のノード変数の違い
スケジューリングエンジンによってノード変数の使用方法が異なります。これらの違いは、スケジューリング変換中に処理する必要があります。主な違いは 3 つのカテゴリに分類されます。
・ 呼び出しフォーマットの違い
一般的な呼び出しフォーマットには、${param}、$[param]、および $(param) があります。
DataWorks では、ノード変数は主に ${} および $[] フォーマットを使用します。スケジュールを変換する際には、ノードコード内の変数リファレンスを処理する必要があります。
・ スケジューリングエンジンの組み込み変数の違い
スケジューリングエンジンはさまざまな組み込み変数を提供しており、時間変数が最も一般的です。${workflowName} や ${taskName} などの他の変数も利用できます。スケジューリングエンジンによって提供される組み込み変数のセットは異なり、時間変数のフォーマットも異なる場合があります。これらの違いは、変換中に処理する必要があります。
さらに、DataWorks では、組み込み変数を使用する前にノードのパラメーターテーブルで定義する必要があります。ただし、WeData などの一部のスケジューリングエンジンでは、ノードコードで組み込み変数を直接使用できます。DataWorks に移行する際には、これらの変数をノード変数に追加する必要があります。
・ 多階層パラメーターリファレンスの違い
プロジェクトレベル、ワークフローレベル、およびノードレベルの変数への多階層リファレンスのルールは異なる場合があります。
2.3.1.2 概要レポートを使用したノードとコード内の変数の変更
移行シナリオでは、ソースと宛先のスケジューリングエンジンのノード変数には多くの違いがあります。このツールは、変数を簡単に処理できる一般的な機能を提供します。この処理は、スケジューリング変換が完了した後、スケジューリングのインポート前に行う必要があります。
・ ノード変数の補完
このツールは、ノードコードで参照されている変数を自動的に検出し、ノードの既存の変数と比較できます。変数がノードの変数リストに見つからない場合、ツールはレポートのパラメーター列にパラメーターを自動的に事前入力します。
このツールは、${}、$[ ]、または $() で囲まれた部分文字列を検索し、それらを重複排除することによって、ノードコード内の変数を検出します。
たとえば、スクリプトに変数と思われる 3 つの部分文字列 (param1、param2、param3) が含まれているとします。これらの変数は、ノードのカスタム変数テーブルには存在しません。
ツールはこれらの部分文字列を自動的に検出し、概要レポートにプロンプトを表示します。
ツールは自動的に変数名を作成します。テーブルを編集して、これらの変数に値を追加できます。変数が誤って検出された場合は、削除するか、変更しないままにすることができます。
ツールが変数名を事前に作成しなかった場合でも、テーブルを編集して追加のノードパラメーターを追加することもできます。
・ ノードコード内の変数呼び出しメソッドの置き換え
呼び出しフォーマットが異なるため、ノードコード内の変数リファレンスを置き換える必要があります。
例として、ノードコードにパラメーターと思われる 3 つの部分文字列 (param1、param2、param3) が含まれているとします。
ツールはこれらの部分文字列を自動的に検出し、マップを構築します。このマップを変更して、ノードコード内の変数呼び出しメソッドを置き換えることができます。
キー (コロンの前) はノードコード内の元の文字列です。値 (コロンの後) は置き換え後の文字列です。
たとえば、$() と $[] のすべてのインスタンスを ${} に置き換えるには、セルを次のように変更します。
{"${param1}":"${param1}","$[param2]":"${param2}","$(param3)":"${param3}"}
この置き換えでは、String.replace(CharSequence target, CharSequence replacement) メソッドが使用されます。正規表現は機能しません。
このセルを編集して、コード内の変数名を置き換えることもできます。変数名を変更した場合は、ノードのスケジューリング変数テーブルもそれに応じて変更する必要があることに注意してください。たとえば、param1 を P1 に置き換えることができます。
2.4 ワークフローのブラックリスト
このレポートでは、ワークフローの子テーブルから行を削除することで、ツールが特定のワークフローを処理しないようにすることができます。この機能は、ワークフローのブラックリストとして知られています。
注: ワークフロー間に依存関係がある場合は、同じバッチで処理してください。ブラックリストを使用してそれらを分離しないでください。依存関係のあるワークフローを分離すると、エラーが発生します。