2.2.2 グリッドジョブネットの定義について
バッチジョブ分散実行システムでは,JP1/AJS3と連携して,グリッドジョブをジョブネットとして定義します。グリッドジョブをJP1/AJS3のジョブネットとして定義することで,次に示す制御ができるようになります。
-
グリッドジョブの実行順序の定義
-
実行するスケジュールの定義
-
何らかの事象を契機にしたグリッドジョブの実行定義
グリッドジョブネットは,JP1/AJS3のカスタムジョブで定義します。カスタムジョブに定義するグリッドジョブには,次の表に示す5種類があります。
ジョブの種類 |
説明 |
---|---|
グリッド開始ジョブ |
グリッドジョブ前処理プログラムを実行することで,実行ノードにデータを分割配置するジョブです。 グリッド開始ジョブは,グリッドジョブ前処理プログラムが標準出力に出力したデータの配置情報を,グリッドプロパティに格納します。このデータの配置情報を基にジョブが分割されて,実行ノードにサブジョブが投入されます。 |
グリッド実行ジョブ |
各実行ノードで実行するジョブ(サブジョブ)の集合です。 グリッド実行ジョブを実行すると,サブジョブ実行プログラム(UAP)が呼び出されて,環境変数にデータ識別子が設定されます。 |
グリッド終了ジョブ |
グリッド開始ジョブで作成したグリッドプロパティを削除するためのジョブです。また,グリッドジョブ後処理プログラムを実行することで,データの統合などもできます。 |
単体グリッドジョブ |
1つのジョブで,グリッド開始,グリッド実行,およびグリッド終了の処理を実行するジョブです。GUIからデータ分割数や入出力ファイル名を指定するだけで,サブジョブを自動的に分散実行する自動分散機能を適用できます。この単体グリッドジョブは,ほかのグリッドジョブを組み合わせてグリッドジョブネットとして定義できません。 |
Hadoopジョブ |
Hadoopで実行するジョブです。Hadoopバッチジョブ定義のGUIを利用して,gpjobmjコマンド(Hadoopジョブ実行コマンド)のオプション指定や例外検知ファイル,および環境変数の定義をします。 |
グリッドジョブネットを実行すると,グリッド実行ジョブがさらにサブジョブに分割されて処理が分散されます。
バッチジョブ分散実行システムで実行するグリッドジョブネットの定義イメージを次の図に示します。
グリッドジョブをサブジョブに分割するのはジョブマネージャです。ジョブマネージャは,グリッド開始ジョブで呼び出すグリッドジョブ前処理プログラムからの応答に基づき,サブジョブを動作させるシステム(実行ノード)を決定します。使用するジョブマネージャは,グリッドジョブの定義で指定します。
定義したグリッドジョブネットは,JP1/AJS3 - Viewの機能を使って実行登録します。グリッドジョブネットの実行登録の方法については,マニュアル「JP1/Automatic Job Management System 3 操作ガイド」を参照してください。