2012-04-27 59 views
1

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

对象是否需要可序列化?

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

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

回答

2

关闭我的头顶,用户定义函数(UDF)是一个静态方法调用,一次只能处理一个事件。如果您需要一次处理多个事件,则需要查看用户定义的操作员(UDO)或用户定义的集合(UDA)。如果您出于任何原因需要维护状态,则应该查看UDO或用户定义的流操作符(UDSO)。

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

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

+0

非常感谢!这是非常彻底的。 – Alwyn 2012-04-30 18:49:59