Streaminsight 用户定义的函数限制

本文关键字:函数 用户 定义 Streaminsight | 更新日期: 2023-09-27 18:32:24

流洞察用户定义函数的限制是什么?

对象是否需要可序列化?

它可以调用外部(远程)服务吗?

如果是这样,这些看起来非常 - 非常 - 非常强大!

Streaminsight 用户定义的函数限制

在我的头顶上,用户定义函数 (UDF) 是一个静态方法调用,一次对一个事件进行操作。如果需要一次处理多个事件,则需要查看用户定义的运算符 (UDO) 或用户定义的聚合 (UDA)。如果出于任何原因需要维护状态,则应查看 UDO 或用户定义的流运算符 (UDSO)。

请记住,有效负载类仅向 StreamInsight 提供架构。因此,它们不需要标记为可序列化。任何被 StreamInsight 序列化的内容都需要标记为可序列化(即适配器的配置类)。

您可以使用不同的 UDF、UDO、UDA 和 UDSO 调用外部/远程服务。但是,这些调用将有效地阻止其中一个 StreamInsight 调度程序线程上的调用,这将增加延迟。事件输入和输出应仅由适配器完成,UDF 等应用于处理流。