Hitachi

uCosminexus Grid Processing Server 使用の手引


付録A.4 グリッドジョブ終了処理のカスタマイズ

デフォルトのスクリプトファイル(グリッドジョブ後処理プログラム)を,GUIを使ってカスタマイズします。

〈この項の構成〉

(1) データのマージ処理の仕組み

SORT EEコマンドを使って出力ファイルをマージできます。デフォルトのスクリプトを実行した場合のマージ処理の概要を次の図に示します。

図A‒4 グリッドジョブ後処理プログラムのマージ処理の概要

[図データ]

図に従い,マージ処理の内容を説明します。

GUIで設定した自動分散の定義

マージ処理の有無:有

出力ファイル名:/tmp/output/outdata

設定ファイル(ugpsm.conf)のDISTRIBUTE_DIRパラメータで指定した分割ファイルの格納先に,サブジョブ(UAP)ごとに分割ファイルが出力されています。

SORT EEコマンドが分割ファイルをマージして,GUIで指定したファイル名で出力されます。

SORT EEコマンドが正常終了すると,分割ファイル格納ディレクトリは削除されます。出力ファイルの格納ディレクトリが存在しない場合,またはグリッドジョブの実行ユーザに出力ファイルの更新権限がない場合は,SORT EEコマンドはエラーとなります。このとき,SORT EEコマンドの終了コードとスクリプトファイルの終了コードは同じとなります。エラー終了した場合の原因は,一時エラーメッセージファイルまたはSORT EEコマンドのログファイルで確認できます。

なお,分割ファイル格納ディレクトリの削除は必須のため,マージ処理を「無」に設定していた場合でも,スクリプトファイルは必ず実行されます。マージ処理の設定の有無は,${UGPSM_AUTOMRG}環境変数の値で判断されます。

マージ処理で使用するSORT EEコマンドのパラメータおよびSORT EEの環境変数を,それぞれ次の表に示します。

表A‒6 マージ処理で使用するSORT EEコマンドのパラメータ

コマンド名

パラメータ

オペランド

指定値

説明

exsort64

-function

copy

コピー処理を使用します。

-catinp

fileorg

C

サブジョブ単位に出力されたUAPの出力ファイルのファイル編成として,CSVファイルを使用します。テキストファイルも使用できます。

prefix

${UGPSM_DDIR}/${UGPSM_GRIDPROPID}/OUT/${UGPSM_GRIDPROPID}

サブジョブ単位に出力されたUAPの出力ファイル名を指定します。DISTRIBUTE_DIRパラメータで指定したパス名に,「/${UGPSM_GRIDPROPID}/OUT/${UGPSM_GRIDPROPID}」を追加した値を設定します。

-catout

fileorg

C

出力ファイルのファイル編成として,CSVファイルを使用します。テキストファイルも使用できます。

file

${UGPSM_DIVOUT}

出力ファイル名を指定します。uGPS - Viewの[自動分散定義]ダイアログボックスで指定した出力ファイル名を設定します。

(凡例)−:該当しません。

表A‒7 マージ処理で使用するSORT EEの環境変数

環境変数名

対応するコマンドのパラメータ

説明

対応

EXSORT64MSGOPT

コマンド実行時のメッセージ抑止オプションを指定します。

「8」を設定します。

EXSORT64MGTOPT

-cmdopt NOLOCK

チェック機能の緩和に関するオプションを指定します。

SORT,SORT EE,COBOL,ISAMプログラムの処理間での,入出力ファイルのオープンモードを指定できます(NOLOCK/EXC)。

無効化します。

EXSORT64SUPPRESSCATMSG

ファイルのマージ処理が終了したときに,KBLS1011-Iメッセージの出力を抑止します。

「YES」を設定します。

EXSORT64CATINPNOERR

-catinpパラメータのfileオペランドで指定した入力ファイルの一部が存在しない場合でも,マージ処理を続行します。

「YES」を指定します。

(凡例)−:該当しません。

(2) 分割ファイル格納ディレクトリの削除

グリッド開始処理で作成したグリッドプロパティ識別子ごとの分割ファイルを格納するディレクトリは,gpdivdirrmコマンドで削除します。

グリッドジョブ後処理プログラムで,グリッドプロパティ識別子を指定してgpdivdirrmコマンドを実行すると,分割ファイル格納ディレクトリが削除されます。また,グリッドジョブ前処理プログラムでも,スクリプト内のコマンドでエラーを検知した場合の後処理として,gpdivdirrmコマンドを実行できます。gpdivdirrmコマンドについては,8章の「gpdivdirrm(分割ファイル格納ディレクトリ削除コマンド)」を参照してください。

(3) デフォルトのスクリプト(グリッドジョブ後処理プログラム)

グリッドジョブ後処理プログラムは,JP1/ASを使用して実行します。uGPS - Managerでは,GUIで指定したマージ処理の設定内容を${UGPSM_MRGUAP}環境変数で受け取り,ジョブマネージャデーモンまで渡します。この${UGPSM_MRGUAP}環境変数を使ってグリッドジョブを実行するため,次のジョブ定義スクリプトファイル(gpautoge.ash)を提供します。このスクリプトはJP1/ASが作成する一時ファイルを使用します。そのため,JP1/AS以外の/bin/shなどでは動作しません。また,uGPS - ManagerがWindows環境の場合は,PATH環境変数にSORT EEやJP1/ASのパス名を登録しておく必要があります。

uGPS - Viewが提供するデフォルトのグリッドジョブ後処理プログラムのメイン処理を次に示します。処理内の(n)は行番号を意味します。

このスクリプトを次に示すコマンドで実行することで,JP1/ASの標準エラー出力をSORT_TMPDIRパラメータ指定値/グリッドプロパティ識別子_1に,各コマンドの標準エラー出力をSORT_TMPDIRパラメータ指定値/グリッドプロパティ識別子_2に出力します。これらのファイルは,スクリプトが正常終了すれば削除され,エラー終了すれば削除されないで残ります。そのため,定期的にファイルを削除する運用を推奨します。

コマンドの実行例
  • uGPS - ManagerがLinuxまたはAIX環境の場合

    /opt/jp1as/bin/adshexec /opt/hitachi/ugpsm/bin/gpautoge.ash 2>> ${UGPSM_SDIR}/${UGPSM_GRIDPROPID}_1

  • uGPS - ManagerがWindows環境の場合

    <JP1/ASのインストール先ディレクトリ>\bin\adshexec <uGPS - Managerのインストール先ディレクトリ>\\bin\\gpautoge.ash 2>> ${UGPSM_SDIR}\\${UGPSM_GRIDPROPID}_1

このスクリプトをカスタマイズする場合のポイントを次の表に示します。

表A‒8 グリッドジョブ後処理プログラムをカスタマイズする場合のポイント

行番号

処理内容

カスタマイズのポイント

1

JP1/ASジョブ名の宣言

2

JP1/ASを常に正常終了するコマンドの定義

スクリプト実行時に未定義のSORT EE環境変数を無効化する際に,コマンドをエラー扱いにしないために必ず「unset」を定義します。ほかにも正常終了させたいコマンドを使う場合に追加します。

3〜6

SORT EE環境変数の設定

カスタマイズ不要ですが,使用したい機能などがある場合は,マニュアル「ソートマージ SORT Version9,SORT Version9 - Extended Edition」を参照してカスタマイズしてください。

8,9

JP1/AS一時エラーファイルの割り当て

カスタマイズ不要ですが,一時エラーファイルの出力先を変更したい場合は,カスタマイズしてもかまいません。

uGPS - ManagerがWindows環境の場合は,${UGPSM_SDIR}は設定ファイルのSORT_TMPDIRパラメータの設定値を指定する必要があります。また,パス名の区切り文字として「\\\\」を指定する必要があります。UNC形式の場合,先頭は「\\\\\\\\」と指定してください。

11,24

JP1/ASジョブステップの宣言

13〜18

SORT EEファイル連結

レコード編集など高度な使い方をしたい場合は,マニュアル「ソートマージ SORT Version9,SORT Version9 - Extended Edition」を参照してカスタマイズしてください。

uGPS - ManagerがWindows環境の場合は,${UGPSM_DDIR}は設定ファイルのDISTRIBUTE_DIRパラメータの設定値を指定する必要があります。また,パス名の区切り文字として「\\\\」を指定する必要があります。UNC形式の場合,先頭は「\\\\\\\\」と指定してください。

19

分割ファイル格納ディレクトリ削除

21〜23

エラー時の後処理

(凡例)−:カスタマイズは不要です。