更新时间:2023-10-14 GMT+08:00
ClickHouse客户端执行SQL查询时报内存不足如何处理?
问题现象
ClickHouse会限制group by使用的内存量,在使用ClickHouse客户端执行SQL查询时报如下错误:
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):
解决方法
- 在执行SQL语句前,执行如下命令。注意执行前保证集群有足够内存可以设置。
SET max_memory_usage = 128000000000; #128G
- 如果没有上述大小内存可用,ClickHouse可以通过如下设置将“溢出”数据到磁盘。建议将max_memory_usage设置为max_bytes_before_external_group_by大小的两倍。
set max_bytes_before_external_group_by=20000000000; #20G set max_memory_usage=40000000000; #40G
- 如果客户数据量大,而且是全表查询,建议按照分区进行查询或者进行升级集群core节点的规格。
父主题: 作业开发类
作业开发类 所有常见问题
- 如何准备MRS的数据源?
- MRS集群支持提交哪些形式的Spark作业?
- MRS集群的租户资源最小值改为0后,只能同时运行一个Spark任务吗?
- 作业提交参数间用空格隔开导致参数信息不被识别如何处理?
- Spark作业的Client模式和Cluster模式有什么区别?
- 如何查看MRS作业的日志?
- 提交作业时系统提示当前用户在Manager不存在如何处理?
- LauncherJob作业执行失败,报错信息为“jobPropertiesMap is null”如何处理?
- 为什么MRS Console页面Flink作业状态与Yarn上的作业状态不一致?
- SparkStreaming作业运行几十个小时后失败,报OBS访问403如何处理?
- ClickHouse客户端执行SQL查询时报内存不足如何处理?
- Spark运行作业报错“java.io.IOException: Connection reset by peer”如何处理?
- Spark作业访问OBS报错“requestId=XXX”如何处理?
- Spark作业报错“UnknownScannerExeception”如何处理?
- DataArts Studio调度Spark作业偶现失败如何处理?
- Flink任务运行失败,报错“java.lang.NoSuchFieldError: SECURITY_SSL_ENCRYPT_ENABLED”如何处理?
- 提交的Yarn作业在界面上查看不到如何处理?
- 如何修改现有集群的HDFS fs.defaultFS?
- 提交Flink任务时launcher-job被Yarn终止如何处理?
- 提交Flink作业时报错slot request timeout如何处理?
- DistCP作业导入导出数据常见问题
- 如何通过Yarn WebUI查看Hive作业对应的SQL语句?
- 如何查看指定Yarn任务的日志?
- 如何设置Spark作业执行时自动获取更多资源?
- 提交作业失败,报错与OBS相关
more