启动远程分析可执行文件

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"。