开发者社区> 问答> 正文

flink sql中怎么表达窗口的提前触发或延迟触发

Blink文档中有介绍到EMIT Strategy,可以用WITH DELAY '1' MINUTE BEFORE WATERMARK或者EMIT WITHOUT DELAY AFTER WATERMARK等类似的语法来控制窗口触发。 但是我使用这种语法作业运行就会报SQL解析错误,请问有没有办法可以在sql中实现控制窗口触发的操作? Table result = tEnv.sqlQuery("select " + "count(*) " + "from dept group by tumble(crt_time, INTERVAL '10' SECOND) WITH DELAY '1' MINUTE BEFORE WATERMARK"); 报错: Exception in thread "main" org.apache.flink.table.api.SqlParserException:


ERR_ID: SQL-00120001 CAUSE: SQL parse failed: Encountered "WITH" at line 1, column 75. Was expecting one of: "ORDER" ... "LIMIT" ... "OFFSET" ... "FETCH" ... "," ...*来自志愿者整理的flink邮件归档

展开
收起
毛毛虫雨 2021-12-08 11:09:10 1365 0
1 条回答
写回答
取消 提交回答
  • 目前社区的1.9版本的blink-planner在parser层面还不支持,可以通过全局config来配置: table.exec.emit.early-fire.enabled table.exec.emit.early-fire.delay

    可以尝试一下。*来自志愿者整理的flink邮件归档

    2021-12-08 19:28:14
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载