使用 Esper inner join 有时不起作用

Sometimes do not work when use Esper inner join

EPL是这样的:

select cast(a.ReportTime,date,dateformat:'yyyy-MM-dd') as ReportTime, a.Source, aa.RequestNum, a.ServerTotal, a.ServerSucc, b.Total, b.Succ, NULL as DataChange_LastTime, c.Response from IntlTotalCountEvent.win:time_batch(2 min) as aa inner join A.win:time_batch(2 min) as a on aa.ReportTime=a.ReportTime and aa.Source=a.Source inner join B.win:time_batch(2 min) as b on a.ReportTime=b.ReportTime and a.Source=b.Source inner join C.win:time_batch(1 min 30 sec) as c on a.ReportTime=c.ReportTime and a.Source=c.Source 有时候可以,有时候不行,甚至字段 ReportTime 和 Source 都使用相同的数据。

批量 windows 在事件到达时开始。因此,每个批次 window 都是独立的,并且与其他批次 windows 不对齐。如果你想对齐批次 windows 使用上下文 "create context Every5Sec start @now end after 2 minutes" 和 "win:keepall" 而不是 "win:batch".