2012-08-13 25 views

回答

2

如果窗口内没有事件触发,StreamInsight不知道窗口已经通过。 StreamInsight没有内部“时间”,所以没有“滴答”的东西,它永远不会知道一个窗口已通过或没有

你可以建立一个可观察的集合,每隔1小时触发一次,并创建10分钟的跳转窗口。你不会看到6个结果。

void Main(){ 

var startTime = DateTime.UtcNow; 

//Create an arbitrary number of events. 
var source = Application.DefineEnumerable(() => Enumerable.Range(0, 60).Select(i => PointEvent.CreateInsert(startTime.AddHours(i * 1), (double)1))); 
var input = source.ToStreamable(AdvanceTimeSettings.StrictlyIncreasingStartTime); 

//Create a tumbling window that is 10 seconds wide 
var query = from i in input.TumblingWindow(TimeSpan.FromSeconds(10)) 
    select i.Count(); 

query.Dump(); 

}

快照窗口是在他们因为事件而不是固定的时间窗的防火略有不同。

这是否有帮助。

+0

是的,比你! – Alwyn 2012-08-15 03:41:22