clickhouse问题总结Caused by: com.github.housepower.jdbc.ClickHouseSQLException: DB::ExceptionDB::Excepti

本文总结了使用ClickHouse过程中遇到的问题,包括分区设计、内存限制、查询性能、数据丢失等,并提供了相应的解决策略,帮助优化ClickHouse的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、以时间来分区的日志表,行为表等,建表分区时尽量避免用时间戳,年月日来分区。

原因:因为以这种基数大的属性列分区时,存储数据的时候,磁盘上就会生成N个数据目录,merge会跟不上或者很慢。
解决方案:建议用年月(toYYYYMM)或者年(toYYYY)来当建表时的索引列。
2、Too many parts(XXX). Merges are processing significantly slower than inserts.

原因:当发送一个插入请求的时候,涉及了N多个分区的数据,在磁盘上会生成N个数据目录,merge跟不上。
解决方案:①设置分区的时候需要思考清楚,是否会导致插入的时候涉及太多分区。
②插入的时候,尽量避免数据中的“分区”列过多。比如一张表建表时是以年月日来分区的,你插入几万数据,但是涉及的年月日有几百个之多,那么插入速度会非常的慢。这个时候就建议你把数据按年月日分成N等份,分批插入较好(如果需要插入的数据一直是这样,那么建议还是以按年月或者按年分区会比较好)。
3、查询的过程中clickhouse-server进程老是挂掉。

原因:clickhouse查询一些需要非常大内存的sql时,会被OS kill掉。因为安装时max_memory_usage_for_all_queries的默认值为0,即不限制clickhouse内存使用。
解决方案:clickhouse安装完成以后,在users.xml这个配置文件中配置一下max_memory_usage_for_all_queries,控制
clickhouse-server的最大占用内存,避免被OS ki

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值