2012-04-27 38 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