版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
数据量大的话,可能会造成内存溢出,即使没有导致内存溢出,也可能比较耗时,所以稳妥的办法就是先进行优化。
首先GROUP BY语句用于根据一个或多个列对结果集进行分组,根据你的sql可以看出你是想直接通过插入通过分组查询获得的数据到一张新表中,对于你的担忧长时间group by 录入的时候是否会导致内存溢出,个人觉得不会的,Flink作为实时计算的一个流式计算引擎,可以处理多种实时数据,既然可以处理双十一的数据,那么你的数据量应该不足以导致内存溢出,不过如果数据量太大的话,group by进行结果集分组的时候会比较耗时,体验也不会太好,如果有where条件语句的话建议加上条件语句来限制数据量或者通过分页语句通过多次执行录入的方式来提高响应效率,也类似官方文档说的【上下游参数调优】,通过设置batchsize,批量读写上下游存储数据可以降低上下游存储的压力。
还有就是官方文档提到的【作业参数调优】,其中作业参数调优的主要参数tminiBatch设置仅适用于优化GROUP BY,设置batchsize,批量读写上下游存储数据可以降低上下游存储的压力。
还有一种就是【资源调优】,可以通过优化资源配置来保证你的group by录入语句可以正常执行,详细的操作内容可以参考官方文档:https://help.aliyun.com/document_detail/62491.html
评论
全部评论 (0)
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。
你好,我是AI助理
可以解答问题、推荐解决方案等
评论
全部评论 (0)