2012-04-27 28 views
1

Stream Insightのユーザー定義関数の制限は何ですか?Streaminsightユーザー定義関数の制限

オブジェクトをシリアライズ可能にする必要がありますか?

外部(リモート)サービスを呼び出すことはできますか?

もしそうなら、これらは非常に非常に非常に強力に見えます!

答えて

2

私の頭の上では、ユーザー定義関数(UDF)は静的メソッド呼び出しであり、一度に1つのイベントで動作します。一度に複数のイベントを処理する必要がある場合は、UDO(User Defined Operators)またはUDA(User Defined Aggregates)を参照する必要があります。何らかの理由で状態を維持する必要がある場合は、UDOまたはUDSO(User Defined Stream Operators)を調べる必要があります。

ペイロードクラスは、StreamInsightにのみスキーマを提供することに注意してください。したがって、直列化可能とマークする必要はありません。 StreamInsightでシリアル化されたものは、シリアル化可能(アダプターの構成クラス)のマークを付ける必要があります。

異なるUDF、UDO、UDA、およびUDSOを使用して、外部サービスまたはリモートサービスを呼び出すことができます。ただし、これらの呼び出しは、StreamInsightスケジューラスレッドの1つで呼び出しを効果的にブロックするため、遅延が増加します。イベント入出力はアダプターのみで行い、UDFなどはストリームの処理に使用する必要があります。

+0

ありがとうございました!それは非常に徹底的です。 – Alwyn