在许多查询中共享InputAdapter

时间:2012-10-10 21:11:44

标签: c# .net streaminsight

我正在使用StreamInsight 2.1处理StreamInsight应用程序。

输入适配器将是一个每秒有数千个事件的实时库存数据流。 我想使用相同的数据流运行多个独立查询,并且能够在流运行时添加更多查询,并在流中的当前位置进行拾取。

但是,每当我编写查询时,它都会创建一个全新的输入适配器。所以,我最终得到25个输入适配器,所有加载和推送相同的数据。

我只是在考虑这个错误吗?输入适配器是否独立于每个查询?

唯一的解决方案是将实时库存数据放在输入适配器后面,让每个输入适配器再次流式传输数据吗?

任何建议都会很棒,很难找到关于StreamInsight的好文档。

1 个答案:

答案 0 :(得分:1)

由于您在讨论输入适配器,我假设您使用的是旧版适配器模型,而不是较新的事件源/接收器方法。您需要查看所谓的“动态查询组合”或DQC。此方法将允许您创建输入适配器的单个实例,然后与其他查询共享流。

简而言之,您需要创建一个包含所有股票代码数据的“来源”查询。从那里,您可以在查询上调用“ToStream()”,将查询结果转换回CepStream。接下来让你的25个左右的其他查询/计算/等使用该流作为他们的数据源。

在MSDN StreamInsight文档中查看Composing Queries at Runtime。该页面上的第一部分“重用现有查询的输出”应该正是您所需要的。