Flink CEP SQL 是否可以在跳跃窗口上运行

问题描述

我的典型用例是持续监视事件流以检测事件模式,但我希望窗口是一个跳跃的窗口。认情况下,CEP sql 中的 interval ... 应定​​义滚动窗口。是否可以为 CEP 模式匹配提供一个跳跃窗口?或任何其他解决方案?

谢谢

解决方法

可以在 Flink SQL 中嵌套基于时间的查询。因此,您可以在之前进行过窗口化的视图上定义 MATCH_RECOGNIZE 子句。

这是一些草图示例:

-- get the rowtime from the window operation
CREATE TEMPORARY VIEW my_view AS
  SELECT HOP_ROWTIME(rowtime,INTERVAL '1' SECOND,INTERVAL '2' SECOND) AS windowedRowtime,...
  FROM my_table
  GROUP BY HOP(rowtime,INTERVAL '2' SECOND);

-- use the new rowtime for MATCH_RECOGNIZE
SELECT * FROM my_view MATCH_RECOGNIZE(ORDER BY windowedRowtime ...)
,

如果“Flink CEP SQL”是指 MATCH_RECOGNIZE,那么 WITHIN INTERVAL 约束并没有真正映射到任何特定类型的窗口。您可以使用满足您需要的任何 AFTER MATCH 策略。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...