开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

FlinkSql在进行窗口聚合的时候,出现无数据情况,kafka消息频率每秒50条

大佬们,求助,使用的版本1.13, 建表如下图中, 但是聚合的时候:SELECT window_start, window_end, COUNT(data) as num FROM TABLE(TUMBLE(TABLE line_kafka_source, DESCRIPTOR(event_time), INTERVAL '10' SECOND)) GROUP BY window_start, window_end;
结果没有数据。手动发送模拟数据,频率降低后,是可以聚合的。d80a514fff54b68db4a8b2780aee768.png
fc2a0b13662e7d169ddfefa4fe62d9a.png

展开
收起
游客njqyspz7qmr5o 2024-03-27 11:09:49 121 0
2 条回答
写回答
取消 提交回答
  • 已找到问题,kafka有多个partition,只有一个partition更新数据,并行度设置为1,导致水位线被无数据的partition拉高,数据落不到窗口范围内,更改并行度后解决

    2024-04-01 14:58:37
    赞同 展开评论 打赏
  • 阿里云大降价~

    这个问题可能是由于Flink的窗口大小设置不合适导致的。你可以尝试调整窗口大小,例如将窗口大小设置为5秒,看看是否能解决问题。修改后的SQL语句如下:

    SELECT window_start, window_end, COUNT(data) as num FROM TABLE(TUMBLE(TABLE line_kafka_source, DESCRIPTOR(event_time), INTERVAL '5' SECOND)) GROUP BY window_start, window_end;
    

    如果问题仍然存在,建议检查Kafka的数据源配置,确保数据源正确连接到Kafka,并且数据格式正确。同时,可以查看Flink的日志,看是否有其他错误信息。

    2024-03-27 12:01:15
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关电子书

更多
Java Spring Boot开发实战系列课程【第16讲】:Spring Boot 2.0 实战Apache Kafka百万级高并发消息中间件与原理解析 立即下载
MaxCompute技术公开课第四季 之 如何将Kafka数据同步至MaxCompute 立即下载
消息队列kafka介绍 立即下载