启动远程分析可执行文件
AE 注册有三种类型:
- 本地 AE:对于本地 AE,NPS 启动 AE 进程。
- 远程 AE:对于远程 AE,Netezza系统不会启动 AE 进程;它会在特定的远程 AE 连接点地址上监听先前运行的实例。 远程 AE 的关键register_ae设置是--remote。
- 远程 AE 启动:第三种注册用于启动远程 AE。 启动注册包含本地注册和远程注册的要素。 与本地注册一样,您必须指定要执行的程序。 与远程注册一样,您必须指定连接点设置。 远程启动注册的关键register_ae设置是--launch。
启动 AE 的注册必须始终针对一个参数签名为 bigint 并返回 TABLE(aeresult varchar(255)) 的表函数。
远程 AE 发射示例
调用 launch 函数时,它会启动远程 AE,类似于Linux守护进程。 然后,远程 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));
返回列(aesult)包含有关已启动远程 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"。