连续加载
ContinuousUDSource、ContinuousUDFilter 和 ContinuousUDParser 类允许您根据需要写入和处理数据,而不必遍历数据。Python API 不支持连续加载。
每个类均包含以下函数:
-
initialize()- 已在run()之前调用。您可以选择覆盖此函数以执行设置和初始化。 -
run()- 处理数据。 -
deinitialize()- 已在run()返回之后调用。您可以选择覆盖此函数以执行分解和消除。
请勿覆盖从父类继承的 setup()、process() 和 destroy() 函数。
您可以使用 yield() 函数在服务器空闲或陷入忙循环期间将控制权交回服务器,以便该服务器可以检查状态变化或取消查询。
这三个类会使用关联的 ContinuousReader 和 ContinuousWriter 类来读取输入数据和写入输出数据。
ContinuousUDSource API (C++)
ContinuousUDSource 类会扩展 UDSource 并添加以下方法以通过子类扩展:
virtual void initialize(ServerInterface &srvInterface);
virtual void run();
virtual void deinitialize(ServerInterface &srvInterface);
ContinuousUDFilter API (C++)
ContinuousUDFilter 类会扩展 UDFilter 并添加以下方法以通过子类扩展:
virtual void initialize(ServerInterface &srvInterface);
virtual void run();
virtual void deinitialize(ServerInterface &srvInterface);
ContinuousUDParser API
ContinuousUDParser 类会扩展 UDParser 并添加以下方法以通过子类扩展:
virtual void initialize(ServerInterface &srvInterface);
virtual void run();
virtual void deinitialize(ServerInterface &srvInterface);
ContinuousUDParser 类会扩展 UDParser 并添加以下方法以通过子类扩展:
public void initialize(ServerInterface srvInterface, SizedColumnTypes returnType);
public abstract void run() throws UdfException;
public void deinitialize(ServerInterface srvInterface, SizedColumnTypes returnType);
有关其他实用程序方法,请参阅 API 文档。