Flink CEP SQL 是否有可能在跳频 window 上变为 运行
Is it possible for Flink CEP SQL to run on a hopping window
我的典型用例是持续监视事件流以检测事件模式,但我预计 window 是一个跳跃的。默认情况下,CEP SQL 中的 interval ...
应该定义翻滚 window。是否可以为 CEP 模式匹配跳转 window?或任何其他解决方案?
谢谢
如果“Flink CEP SQL”是指 MATCH_RECOGNIZE,那么 WITHIN INTERVAL
约束并没有真正映射到任何特定类型的窗口。您可以使用满足您需要的任何 AFTER MATCH 策略。
可以在 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 '1' SECOND, INTERVAL '2' SECOND);
-- use the new rowtime for MATCH_RECOGNIZE
SELECT * FROM my_view MATCH_RECOGNIZE(ORDER BY windowedRowtime ...)
我的典型用例是持续监视事件流以检测事件模式,但我预计 window 是一个跳跃的。默认情况下,CEP SQL 中的 interval ...
应该定义翻滚 window。是否可以为 CEP 模式匹配跳转 window?或任何其他解决方案?
谢谢
如果“Flink CEP SQL”是指 MATCH_RECOGNIZE,那么 WITHIN INTERVAL
约束并没有真正映射到任何特定类型的窗口。您可以使用满足您需要的任何 AFTER MATCH 策略。
可以在 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 '1' SECOND, INTERVAL '2' SECOND);
-- use the new rowtime for MATCH_RECOGNIZE
SELECT * FROM my_view MATCH_RECOGNIZE(ORDER BY windowedRowtime ...)