折雨的天空

新浪微薄腾讯微薄

最新碎语:最近霉到了住。哎。。。

您的位置:折雨的天空 >其他技术> Code: 252. DB::Exception: Too many partitions for single INSERT block (more than 100)

Code: 252. DB::Exception: Too many partitions for single INSERT block (more than 100)

Clickhouse批量写入的时候,报错:

Code: 252. DB::Exception: Too many partitions for single INSERT block (more than 100)

微信图片_20231017113758.png


并且,系统负载很高,写入数据就算能够成功,写入速度很慢。


根据错误信息搜索,找到解决方案:

https://blog.csdn.net/qq_45124566/article/details/127091412#:~:text=DB%3A%3AException%3A%20Too%20many%20partitions%20for%20single%20INSERT%20block,startup%2C%20slow%20INSERT%20queries%20and%20slow%20SELECT%20queries.


需要修改参数

max_partitions_per_insert_block

max_partitions_per_insert_block 参数用来限制单个插入 Block 中,包含的最大分区数量,默认值为 100。设置为 0 时,表示不限制。


上面文章中的解决方案:

调整分区数或者 max_partitions_per_insert_block 参数。

合理设置分区字段
调整表结构,调整分区方式。

避免同一批次写入包含太多分区的数据
减小写入的批量大小,避免单个插入的不同分区数超过限制。

修改 max_partitions_per_insert_block 参数,调大这个值
如果无法调整批量大小,可适当修改 max_partitions_per_insert_block 参数,放大限制。

配置文件修改: 在 users.xml 配置文件中进行配置。配置在 <profiles> 块中。CK 的配置文件是即时生效,不需要重启服务器。
在一个会话中临时修改:SET max_partitions_per_insert_block = 1000。用于临时导入大量数据的情况。

修改配置文件是没问题的,但是尝试几次,这个配置放置的位置很重要。不重启倒是真的。

这个配置应该要放在profiles下的default节点中,不是profiles节点下,如图:


微信图片_20231017114531.png



------------正 文 已 结 束, 感 谢 您 的 阅 读 (折雨的天空)--------------------

转载请注明本文标题和链接:《Code: 252. DB::Exception: Too many partitions for single INSERT block (more than 100)

奖励一下

取消

分享不易,烦请有多多打赏,如您也困难,点击右边关闭即可!

扫码支持
扫码打赏,5元,10元,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

-秒后自动关闭,如已打赏,或者不愿打赏,请点击右上角关闭图标。

发表评论

路人甲 表情
看不清楚?点图切换