Clickhouse批量写入的时候,报错:
Code: 252. DB::Exception: Too many partitions for single INSERT block (more than 100)
并且,系统负载很高,写入数据就算能够成功,写入速度很慢。
根据错误信息搜索,找到解决方案:
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节点下,如图:
------------正 文 已 结 束, 感 谢 您 的 阅 读 (折雨的天空)--------------------
转载请注明本文标题和链接:《Code: 252. DB::Exception: Too many partitions for single INSERT block (more than 100)》
发表评论