求助各位大佬,一个sql里面包含有几个大的hop滑动窗口,如15个小时和24个小时,滑动步长为5分钟

求助各位大佬,一个sql里面包含有几个大的hop滑动窗口,如15个小时和24个小时,滑动步长为5分钟,这样就会产生很多overlap 数据,导致状态会很快就达到几百g,然后作业内存也很快达到瓶颈就oom了,然后作业就不断重启,很不稳定,请问这个业务场景有什么有效的解决方案么? 本问题来自阿里云开发者社区的【11大垂直技术领域开发者社群】。 点击这里欢迎加入感兴趣的技术领域群。

展开
收起
黄一刀 2019-12-06 20:29:35 3134 分享
分享
版权
举报
2 条回答
写回答
取消 提交回答
  • 这种不可累加型的指标,全天数据几分钟产出一次,确实很烦人,而且state还得手动清,那个ttl不支持event time,说实话感觉用外部存储,比如redis 的hyperloglog会更好一些,uv这种不可累加的指标,放在state里面确实不太好维护

    2019-12-06 20:33:43 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
  • 用Redis,每行存储一个表示UV的HyperLogLog,前端需要取数的时候,取一定的时间区间做pfmerge,这玩意单靠Flink状态实现不靠谱

    2019-12-06 20:32:00 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论

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

收录在圈子:
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理