【问题标题】:Simple subquery in EsperEsper 中的简单子查询
【发布时间】:2016-08-03 18:58:12
【问题描述】:

我希望能够嵌套在 Esper 的 EPL 中表达的查询。假设我想检测这种模式:A -> (B -> C)。 (ABC 是事件类型,-> 是 EPL 的序列运算符。)

这是代表B -> C的查询:

select * from pattern [every (b=B -> c=C)]

然后我想执行以下操作:

select * from pattern [every (a=A -> bc=
    (select * from pattern [every (b=B -> c=C)])
)]

实际上,最好是这样:

select * from pattern [every (b=B -> c=C)]) as bc
select * from pattern [every (a=A -> bc)]

这样,第一个查询只绑定到标识符bc,然后可以在第二个查询中使用。那太棒了!

有人能告诉我 EPL 中是否存在类似的语法吗?我很感激任何提示!

【问题讨论】:

    标签: complex-event-processing esper


    【解决方案1】:

    查询可能只是......

    every (a=A -> (every (b=B -> c=C))]
    

    或将“bc”插入另一个流并使用它...

    insert into BCStream select * from pattern[every b=B -> c=C]; // also note lack of parens
    

    select * from pattern[a=A -> BCStream]
    

    【讨论】:

    • 非常感谢!不过,您能解释一下为什么“缺少”括号吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    • 2017-03-11
    • 1970-01-01
    • 2014-10-10
    • 1970-01-01
    相关资源
    最近更新 更多