概述
在使用ck清洗数据的时候报内存不足:
Progress: 1.83 billion rows, 85.31 GB (68.80 million rows/s., 3.21 GB/s.) 6%Received exception from server:
Code: 241. DB::Exception: Received from localhost:9000, 127.0.0.1.
DB::Exception: Memory limit (for query) exceeded: would use 9.31 GiB (attempt to allocate chunk of 1048576 bytes), maximum: 9.31 GiB:
(while reading column hits):
默认情况下,ClickHouse会限制group by使用的内存量,默认设置为9.31GB,由users.xml文件中max_memory_usage参数控制,可以分别为每个用户设置不同的内存量。
解决办法
-
临时设置
在运行任务前增加配置,当然前提是你有足够的内存。增加这个参数:SET max_memory_usage = 128000000000; #128G

当使用ClickHouse进行数据清洗时遇到内存不足的问题,官方文档建议通过调整`max_memory_usage`参数来限制group by操作的内存使用。可以临时或全局设置此参数,甚至启用数据到磁盘的溢出策略。若内存仍然不足,可尝试设置`partial_merge_join=1`,但会影响性能。在`users.xml`中修改配置可实现全局生效。
最低0.47元/天 解锁文章
510

被折叠的 条评论
为什么被折叠?



