【问题标题】:Complex Event Processing-Stream Processing复杂事件处理-流处理
【发布时间】:2016-11-24 21:05:22
【问题描述】:
我正在尝试了解 Esper 如何与 Storm 合作。我正在查看 Esper 的源代码,因为我想找出 Esper 存储数据的位置(表、数组等)。例如,当 esper 接收到元组和事件类型声明,Esper如何存储这些数据(源代码);执行查询时如何存储数据结果等?我想在Esper的源代码中找到所有这些发生的位置。任何帮助都是最重要的欢迎。
【问题讨论】:
标签:
apache-storm
complex-event-processing
esper
【解决方案1】:
Esper 的数据结构反映了 EPL 语句。
这不存储任何内容:
select * from MyEvent
这仅存储长类型计数:
select count(*) from MyEvent
这存储了一个计数和总数:
select avg(field) from MyEvent
这会存储每个组字段的计数:
select count(*) from MyEvent group by groupfield
这存储了最后 5 个事件:
select * from MyEvent.win:length(5)
模式有自己的数据结构,每个数据窗口和匹配识别等也是如此。连接索引等也是数据结构。恐怕没有单一的代码位置,但有很多,没有单一的数据结构,但有许多不同的专门的。