最后编辑于2021-06
insert into xx select * from T1 partition p20210606
如上,insert into select 一个表的分区p20210606,分区总数据为 58.674 GB。Buckets 为10 副本数为3。集群20个BE实例
然后报错:Memory exceed limit. New partitioned Aggregation in spill Backend: xx.xx.xx.xx(ip), fragment: 684d172c941345ab-ac6929bd4b9a5977 Used: 32210695296, Limit: -1. You can change the limit by session variable exec_mem_limit.
我 exec_mem_limit设置的是30GB。请教下,insert 操作为什么会在这么大内存的情况下报单个BE内存不足呢?
收藏
点赞
0
个赞
请登录后评论
TOP
切换版块
非常感谢~我试下
「或者我把数据导出再stream load 导入比前面的方法会更快?」
insert into 确实有性能没有 broker load 好。以你的数据量58GB 的话就比较慢,而且可能还会超时。
我的建议是,把insert into 后面的数据拆分一下。分成 10G 左右一份可能会好很多。
感谢回复,我的版本是:0.12-RC3。
另外,按您说的,insert into select 是单点操作,是不是就有性能问题。那我除了这个方式还有别的方法吗?(insert into select 是在组一个宽表)或者我把数据导出再stream load 导入比前面的方法会更快?
insert into 是一个单点的操作,所以存在你说的这个问题。
其次是,你集群是什么版本的?