1

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

对象是否需要可序列化?

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

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

4

1 回答 1

2

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

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

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

于 2012-04-29T15:41:24.600 回答