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
コメント
コメントを投稿