リモート分析実行ファイルの起動
AE登録には3つのタイプがある:
- ローカルAE:ローカルAEの場合、NPSはAEプロセスを起動する。
- リモート AE:リモート AE の場合、Netezzaシステムは AE プロセスを起動せず、特定のリモート AE 接続ポイントアドレスでリッスンしている、以前に実行されたインスタンスを探します。 リモート AE のキーとなるregister_ae の設定は--remote である。
- リモートAE起動:第 3 の登録タイプは、リモート AE を起動するためのものである。 ローンチ登録は、ローカル登録とリモート登録の両方の要素を持っている。 ローカル登録と同様に、実行するプログラムを指定しなければならない。 リモート登録と同様に、接続ポイントの設定を指定する必要があります。 リモート・ローンチ登録のキーとなるregister_aeの設定は-launchである
AE を起動するための登録は、必ず引数シグネチャが bigint で、return TABLE(aeresult varchar(255))を持つテーブル関数でなければならない。
リモートAE起動の例
launch関数が呼ばれると、Linuxのデーモンと同様にリモートAEを起動する。 リモートAEはリクエストに対応できる。
$NZ_EXPORT_DIR/ae/utilities/bin/register_ae --language java --template udtf \
--version 3
--sig "apply_launch_v1(bigint)"
--return "TABLE(aeresult varchar(255))"
--define java_class=org.netezza.education.ApplyDriverV4
--launch
--rname apply
--level 1
ホスト上で起動する:
SELECT aeresult FROM TABLE WITH FINAL(apply_launch_v1(0));
SPUで起動する:
SELECT aeresult FROM _v_dual_dslice, TABLE WITH FINAL(apply_launch_v1(dsid));
戻り値のカラムaeresultには、起動されたリモート AE に関する情報(リモート AE プロセス ID など)が含まれ、トラブルシューティングに役立ちます。 起動に失敗した場合、この関数は例外をスローする。
例
SELECT * FROM TABLE WITH FINAL(apply_launch_v1(0));
AERESULT
---------------------------------------------------------------------------------
------------------
tran: 2704 session: 17646 DATA slc: 0 hardware: 0 machine: hostname process:
24320 thread: 24321
リモートAE起動機能の登録については、 分析実行可能ファイルの登録を参照してください。 実行中のリモート AE の制御については、次項「実行中のリモート AE の制御」を参照してください。