首页 > 解决方案 > ClickHouse - 每个查询插入一百多个条目

问题描述

我不知道如何增加每个查询的最大条目数。我想每个查询插入一千个条目,默认值为 100。

根据doc,该参数max_partitions_per_insert_block定义了同时条目的限制。

我试图从 ClickHouse 客户端修改它,但我的插入仍然失败:

$ clickhouse-client
my-virtual-machine :) set max_partitions_per_insert_block=1000

*SET* max_partitions_per_insert_block = 1000

Ok.

0 rows in set. Elapsed: 0.001 sec. 

此外,这不是文件max_partitions_per_insert_block中的字段/etc/clickhouse-server/config.xml

修改后max_partitions_per_insert_block,我尝试插入我的数据,但我遇到了这个错误:

infi.clickhouse_orm.database.ServerError: Code: 252, e.displayText() = DB::Exception: Too many partitions for single INSERT block (more than 100). The limit is controlled by 'max_partitions_per_insert_block' setting. Large number of partitions is a common misconception. It will lead to severe negative performance impact, including slow server startup, slow INSERT queries and slow SELECT queries. Recommended total number of partitions for a table is under 1000..10000. Please note, that partitioning is not intended to speed up SELECT queries (ORDER BY key is sufficient to make range queries fast). Partitions are intended for data manipulation (DROP PARTITION, etc). (version 19.5.3.8 (official build))

编辑:我仍然坚持这一点。我什至无法手动将参数设置为我想要SET max_partitions_per_insert_block = 1000的值:该值已更改,但在退出并重新打开 clickhouse-client 后会返回 100(即使使用sudo,所以它看起来不像是权限问题)。

标签: clickhouse

解决方案


我在再次阅读文档时发现了这一点,尤其是这个文档。我已经在表格中web看到的配置文件设置中识别出来。system.settings我只是尝试在我的默认配置文件中插入以下内容,重新加载,并且我插入的一千个条目很好:<max_partitions_per_insert_block>1000</max_partitions_per_insert_block>

我想这对某些人来说是显而易见的,但对于没有经验的人来说可能不是。


推荐阅读