连续加载
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 文档。