CEP库使得编写一个能够判断X后面是否跟着y的程序变得简单。
val pattern = Pattern.begin("start").where(_.value == "X")
.next("end).where(_.value == "Y")
但是,如果我不关心X和Y的顺序,只关心其中一个顺序,我该如何描述一个程序呢?例:X, Y和Y, X都很有趣。然而,X,X或Y,Y不是有趣的,所以它不能匹配第三个共享属性。
目前,Flink的CEP库还不支持这个特性。您可以做的是分别定义这两个模式,然后在select子句之后联合两个结果数据流。