【StarRocks版本】3.0.0
【集群规模】3fe + 5be
ERROR 1064 (HY000): Memory of Querya158f0fa-3678-11ee-a472-3e3897e1e823 exceed limit. Pipeline Backend: starrockscluster-sample-be-3.starrockscluster-sample-be-search.starrocks.svc.cluster.local, fragment: a158f0fa-3678-11ee-a472-3e3897e1e825 Used: 49418301632, Limit: 49160864340. Mem usage has exceed the limit of single query, You can change the limit by set session variable query_mem_limit.
我有一张大概 190GB 的表 (32 tablet*6GB,平均分布在5个be), 现在需要把所有数据query出来做计算,遇到内存不够的问题。
请问对于这种情况是不是只能把表水平切分下成多个表,分别处理?扩be 可以解决吗?
我的sql 类似于
select A,B,count(distinct C) from Table group by A,B
对于需要query 全表出来,需要限制单个表的数据小于单个be的内存限制?
我已经在 Table 中 按照 hash(A,B) 分的tablet, 像上面这个sql 不能分布到不同be分别计算,然后汇总结果?还是把所有数据捞到同一个be 计算?