【问题标题】:How to use "every" pattern operator in Flink CEP如何在 Flink CEP 中使用“每个”模式运算符
【发布时间】:2017-11-20 19:39:16
【问题描述】:

在 Esper CEP 引擎事件模式中,有 Every 运算符,它指示模式子表达式应在每个关键字限定的子表达式计算为真或假时重新启动。

According to this document,我们可以通过不同的方式使用every 运算符,例如:

    A -> B
    every ( A -> B )
    every A -> B
    A -> every B
    every A -> every B

我想知道在 Flink CEP 中哪些模式是可能的?我想在 Flink 中使用 every A -> B 但不知道如何。

Flink 中这个默认的 CEP 模式代表上述哪种模式? (使用 Flink v1.1.4)

Pattern<Event, ?> pattern = Pattern.begin("start").where(evt -> evt.getId() == 42)
    .followedBy("end").where(evt -> evt.getName().equals("end"));

提前致谢。

【问题讨论】:

    标签: apache-flink flink-cep


    【解决方案1】:

    Flink 提供了一些 documentation 关于如何使用 every 的说明,如果你指定子类型,那么每次迭代都会调用它

    start.subtype(SubEvent.class).where(new SimpleCondition<SubEvent>() {
        @Override
        public boolean filter(SubEvent value) {
            return ... // some condition
        }
    });
    

    但在我看来,这不是您想要的。但是,你可以看看一个轻量级的Siddhi- Flink CEP library,通过它你将能够在 Flink 中使用 siddhi 查询语言

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-19
      • 1970-01-01
      • 1970-01-01
      • 2019-02-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多