BE内存溢出

我在starRocks查询一个外部表的语句,报错误Memory of process exceed limit. try consume:34359738368 Used: 17929613096, Limit: 53454080286. Mem usage has exceed the limit of BE
具体语句:SELECT DISTINCT
kbft.file_id,
kbft.confirmed_text,
IFNULL( kbft.url, ‘’ ) AS url
FROM
kbft
WHERE
kbft.create_date BETWEEN ‘2023-10-01’
AND ‘2023-11-01’
LIMIT 1
kbft表数据量也很小
image image image image image 请大佬帮忙看一下

是哪个版本的?be.out be.WARNING 也发下

starRocks是2.5.12版本的,be.out (2.3 MB)

是什么外表JDBC外表吗?

是的,jdbc外表

image 其中表结构是这样子的,请老师帮忙看一下

be.WARNING 搜下large allocate?

image 没有内容

老师,这个问题能再帮忙看一下吗

加下微信,远程帮你看下

这个是在我们内网,没有办法进行远程

老师,您需要操作什么,或者想要看参数,我这边配合你

可以先升级到2.5.13试下吗

2.5.13有针对这方面做更新吗

好像有个distinct limit 问题,不过具体哪些版本有问题记不太清了,可以先升到2.5 最新版本看看

把所有字段select 出来会报错吗?

select kbft.file_id, kbft.confirmed_text, kbft.url from kbft
WHERE
kbft.create_date BETWEEN ‘2023-10-01’
AND ‘2023-11-01’;

我这边已经将starRocks版本已经升级为2.5.13,但是会报Memory of Query194b498f-846d-11ee-9fcf-dabe8ee60736 exceed limit. Pipeline Backend: 172.31.24.113, fragment: 194b498f-846d-11ee-9fcf-dabe8ee60737 Used: 43074259752, Limit: 17179869184. Mem usage has exceed the limit of single query, You can change the limit by set session variable exec_mem_limit or query_mem_limit.没有办法查询

把所有字段select出来是会报错的

全表这样子查询是不会报错的

恩,那看上去像是distinct limit 有问题了。

感觉像是distinct a, b, c 其实是对a, b, c 做group by.

这几个基数是不是有点高。