routineのLIBRARY PATHの確認方法

 DataStageジョブのroutineのLIBRARY PATHはジョブ実行時のLIBRARY PATH(AIX: LIBPATH、LINUX:LD_LIBRARY_PATH)に設定する必要がある。

DataStageジョブのジョブパラメータにDS_PXDEBUG=1という環境変数をセットして実行すると、/opt/IBM/InformationServer/Server/<プロジェクト名>/Debugging/<ジョブ名>というディレクトリ以下にデバッグファイルが作成されます。
$ pwd
/opt/IBM/InformationServer/Server/Projects/dstage1/Debugging/RtnWaitJob
$ ls -l
合計 108
-rwxrwxr-x 1 dsadm dstage    45 12月  6 10:36 '?.checksum'
-rw-rw-r-- 1 dsadm dstage  4962 12月  6 10:36  ENVDUMP_RtnWaitJob
-rw-rw-r-- 1 dsadm dstage   218 12月  6 10:36  OSHTRACECMD_RtnWaitJob
-rw-rw-r-- 1 dsadm dstage  1762 12月  6 10:36  OSHTRACE_RtnWaitJob
-rwxrwxr-- 1 dsadm dstage   858 12月  6 10:36  OshExecuter.sh
-rw-rw-r-- 1 dsadm dstage  1036 12月  6 10:36  OshScript.osh
-rwxrwxr-x 1 dsadm dstage 63216 12月  6 10:36  V0S1_RtnWaitJob_Transformer_1.so
-rwxrwxr-x 1 dsadm dstage   654 12月  6 10:36  V0S1_RtnWaitJob_Transformer_1.trx
-rwxrwxr-x 1 dsadm dstage   482 12月  6 10:36  V0S1_RtnWaitJob_Transformer_1.trx.osh
-rw-rw-r-- 1 dsadm dstage   434 12月  6 10:36  default.apt
-rw-r----- 1 dsadm dstage   463 12月  6 10:36  jpfile
$ cat ENVDUMP_RtnWaitJob | grep LIBRARY
LD_LIBRARY_PATH=/opt/IBM/InformationServer/Server/Projects/dstage1/RT_BP8.O:/opt/IBM/InformationServer/Server/DSComponents/lib:/opt/IBM/InformationServer/Server/DSComponents/bin:/opt/IBM/InformationServer/Server/DSParallel:/opt/IBM/InformationServer/Server/PXEngine/user_lib:/opt/IBM/InformationServer/Server/PXEngine/lib:/opt/IBM/InformationServer/Server/Projects/dstage1/buildop:/opt/IBM/InformationServer/Server/biginsights/IHC/c++/Linux-amd64-64/lib:/opt/IBM/InformationServer/Server/branded_odbc/lib:/opt/IBM/InformationServer/Server/DSEngine/lib:/opt/IBM/InformationServer/Server/DSEngine/uvdlls:/opt/IBM/InformationServer/jdk/jre/lib/amd64/j9vm:/opt/IBM/InformationServer/jdk/jre/lib/amd64:/opt/IBM/InformationServer/ASBNode/lib/cpp:/opt/IBM/InformationServer/ASBNode/apps/proxy/cpp/linux-all-x86_64:/opt/IBM/DB2/lib64:/usr/local/lib:/usr/lib:.:/lib
[dsadm@IIS1171 RtnWaitJob]$
$ cat V0S1_RtnWaitJob_Transformer_1.trx.osh
transform -inputschema record
(
  col1:string[1];
  int1:int32;
)
-outputschema record
(
  col1:string[max=30];
  int1:int32;
)
-expressionfile [&DSPXSourceDir]/V0S1_RtnWaitJob_Transformer_1.trx
-flag compile
-sharedobj '/work/sakag/routine/RtnWait'
-compiler 'g++'
-compileopt '-c -O -fPIC -Wno-deprecated -m64 -mtune=generic -mcmodel=small'
-linker 'g++'
-linkopt '-shared -m64'
-name V0S1_RtnWaitJob_Transformer_1
-dir /opt/IBM/InformationServer/Server/Projects/dstage1/RT_BP8.O
このテストではroutineのShared library: libRtnWait.soは、/work/sakag/routineに配置してあるため、一つの解決策としてDataStageジョブRtnWaitJobのジョブパラメータに以下の通り設定すると正常にroutineを実行することができる。

$ cat ENVDUMP_RtnWaitJob | grep LIBRARY
LD_LIBRARY_PATH=/opt/IBM/InformationServer/Server/Projects/dstage1/RT_BP8.O:/opt/IBM/InformationServer/Server/DSComponents/lib:/opt/IBM/InformationServer/Server/DSComponents/bin:/opt/IBM/InformationServer/Server/DSParallel:/opt/IBM/InformationServer/Server/PXEngine/user_lib:/opt/IBM/InformationServer/Server/PXEngine/lib:/opt/IBM/InformationServer/Server/Projects/dstage1/buildop:/opt/IBM/InformationServer/Server/biginsights/IHC/c++/Linux-amd64-64/lib:/opt/IBM/InformationServer/Server/branded_odbc/lib:/opt/IBM/InformationServer/Server/DSEngine/lib:/opt/IBM/InformationServer/Server/DSEngine/uvdlls:/opt/IBM/InformationServer/jdk/jre/lib/amd64/j9vm:/opt/IBM/InformationServer/jdk/jre/lib/amd64:/opt/IBM/InformationServer/ASBNode/lib/cpp:/opt/IBM/InformationServer/ASBNode/apps/proxy/cpp/linux-all-x86_64:/opt/IBM/DB2/lib64:/usr/local/lib:/work/sakag/routine:/usr/lib:/lib


コメント

人気の投稿