clickhouse的too many part问题

2023-05-16

clickhouse踩坑记录 · Yuque

what():  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)

上面这个报错我测试中发现,我在C++的API中 插入一条语句,这个语句里头的partition有105个就会报错,如果放到100个以下就不报错,所以限制单条语句中 parition不要过多就可以了,数据量到是没什么影响,比如你按照交易品种划分parition,一次插入5个品种,一条数据量20000行可以正常插入

经过测试,这个东西是异步merge的,所以很难调试,我经过大量测试得出的结论如下:

toomanypart

数据库已有数据量越多越容易报这个错

尽量降低插入频率,比如有1万条记录,100秒插入 和 1万条记录每秒插100条,插的频率比较高 数据量比较小   容易出现这个报错

多表同时插入和单表插入出这个报错的概率感觉差不多,多partition和单partition出报错的差别也不大,所以结论就是往某个表插入尽量降低插入速度就行了。

(我测试了多partition和多表同时插入崩溃的次数和时间基本一样,所以就是拉大插入的间隔,每次插入数据量大一些,如果还有这个问题,就把参数调大)


config.xml参数
<merge_tree>
<parts_to_delay_insert>600</parts_to_delay_insert>
<parts_to_throw_insert>600</parts_to_throw_insert>
<max_delay_to_insert>2</max_delay_to_insert>
<max_suspicious_broken_parts>5</max_suspicious_broken_parts>
</merge_tree>

如果遇到Too many partitions for single INSERT block (more than 100). The limit is controlled by 'max_partitions_per_insert_block' setting

修改user配置文件中的

<default>
<access_management>1</access_management>
<max_partitions_per_insert_block>0</max_partitions_per_insert_block>
</default>



 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

clickhouse的too many part问题 的相关文章

  • ClickHouse学习教程

    概述 官网 a fast open source OLAP database management system It is column oriented and allows to generate analytical reports
  • ClickHouse之建表优化和底层语法优化(谓词下推等)

    文章目录 一 建表优化 1 数据类型 1 1 时间字段的类型 1 2 空值存储类型 2 分区和索引 3 表参数 4 写入和删除优化 5 常见配置 5 1 CPU 资源 5 2 内存资源 5 3 存储 二 CK底层语法优化 1 count优化
  • 腾讯mini项目-【指标监控服务重构】2023-07-27

    今日已办 SigNoz Log Management SigNoz原生支持 OpenTelemetry 来收集日志 SigNoz 在收集器端进行了优化 为SigNoz中的日志添加了不同的功能 OpenTelemetry 提供了各种接收器和处
  • 【clickhouse】ubuntu20安装clickhouse并用DBeaver远程管理

    文章目录 1 安装 2 配置 3 外部连接测试 4 相关概念 5 Reference 1 安装 使用Deb安装包 添加证书 sudo apt get install y apt transport https ca certificates
  • ClickHouse的WITH-ALIAS是如何实现的

    ClickHouse的WITH ALIAS是如何实现的 WITH ALIAS包含相似但不同的两个特性 WITH lt 表达式 gt as lt 别名 gt WITH lt 别名 gt as lt 子查询 gt WITH lt 表达式 gt
  • Datax使用rdbmsreader支持clickhouse的读取

    参考链接 22条消息 使用datax的rdbmsreader实现读取clickhouse Sleten09的博客 CSDN博客 背景 想要把click house的数据源同步到HDFS 发现Datax没有clickhousereader组件
  • clickhouse--副本、分片、Distributed

    副本的目的防止数据丢失 保证高可用 分片则是实现数据的水平切分 使用副本需要使用replicatedMergeTree存储引擎 MergeTree存储引擎存储数据时首先将数据写入内存缓冲区 然后数据被写入本地磁盘临时目录分区 待全部完成后再
  • [1182]clickhouse的日期函数

    文章目录 时间获取 时间转换 时间计算 时间格式化 时间获取 获取当前时间戳 select toUnixTimestamp now 获取指定时间的时间戳 select toUnixTimestamp 2021 05 11 14 37 37
  • 基于clickhouse做用户画像,标签圈选

    clickhouse在做用户画像标签时 怎么去做圈选 表结构应该是怎么样的 我们应该怎么去处理 能够使其高性能的圈选 尽可能缩小其占用的存储空间 这个问题 我通过代码给大家做下的演示 先在hive中对数据预处理 最初表结构 create t
  • python获取clickhouse数据表的全部列名称

    使用python获取的方法 import clickhouse connect client clickhouse connect get client host 127 0 0 1 def get col name table name
  • 【ClickHouse内核】资源管理

    目录 概述 资源使用追踪机制 MemoryTracker ProfileEvents QueryProfiler 举个例子 资源隔离机制 内存隔离 CPU隔离 IO隔离 资源使用配额 Quota 机制 结论 概述 资源管理对于数据库来说是非
  • kudu clickhouse 添加字段删除字段

    impala 或hive 给指定kudu库中的表添加列 修改列并调整列位置 添加列 alter TABLE fact cpu supply category add columns supplier name string COMMENT
  • clickhouse数据导入遇到的问题

    1 采用mybatis写入数据 速度很慢的问题 采用mybatis拼接sql的方式 可以写入数据 但是效率很低 每秒数据大概200 300条数据记录 2 采用jdbc写入数据 可以使用两种数据源 新版本的包 import com click
  • clickhouse insert的数据结构

    clickhouse insert大致分为两部分 1 sql语句部分 insert into table f1 f2 2 数据部分 数据部分又分为3部分 头 数据 尾 数据头 数据块1 数据块2 数据块N 数据尾 从中可以看出 每个inse
  • clickhouse实战--常见异常汇总

    Code 117 e displayText DB Exception Unexpected NULL value of not Nullable type String version 20 8 3 18 从上面报错信息来看 是因为nul
  • ClickHouse安装(集群版)

    ClickHouse安装 集群版 一 准备工作 1 设置hostname 2 hosts映射 3 关闭防火墙 4 同步时间 5 关闭selinux 6 安装好zookeeper 7 重启 二 搭建ClickHouse集群 1 下载安装包 2
  • 3. ClickHouse数据类型和表结构

    3 1 数据类型 整数类型 整数类型有Int8 Int16 Int32 Int64 分别表示8位 16位 32位和64位有符号整数 适用场景 存储整数值 如年龄 数量等 浮点类型 浮点类型有Float32和Float64 分别表示32位和6
  • 如何在 ClickHouse 中向可执行 UDF 发送多个参数?

    我有一个输出输入的 python 脚本 usr bin python3 import sys if name main i 0 for line in sys stdin print i line end sys stdout flush
  • 有人可以解释 arrayJoin() 函数在 Clickhouse 数据库中如何工作吗?

    我是 ClickHouse DB 的新手 文档中提供的示例无助于正确理解这个概念 解释如何数组连接 https clickhouse tech docs en query language functions array join 可以与简
  • 如何在clickhouse中根据日期和时间段选择数据

    我想通过两者过滤一些数据yyyymmdd 日期 和hhmmss 时间 但是clickhouse不支持time类型 所以我选择datetime将它们结合起来 但如何做这样的事情 这是代码dolphindb 它支持second类型来表示hhmm

随机推荐

  • linux下解压rar和7z压缩文件

    在windows下我们压缩解压文件通常后缀为rar xff0c 在linux下我们压缩解压文件通常后缀为tar 默认在linux下我们不能解压压缩rar文件 我们可以下载rarlinux安装包实现解压压缩后缀为rar的包 下载地址 xff1
  • go语言,简单分析和了解

    Go 本地化 该指南也有其他语言版本 xff1a Brazilian Portuguese Portugu s do BrasilCatalan Catal Spanish Espa olFrench Fran aisHebrew Japa
  • Filebeat输出json格式的日志并指定message字段的值

    目录 1 开启json格式所需的字段概述 2 配置示例 3 如果问题没有解决可点击官网 1 开启json格式所需的字段概述 filebeat配置input要有以下字段 json keys under root true json overw
  • Prometheus添加邮件告警和企业微信机器人告警

    我们将在 Prometheus 服务器上编写警报规则 xff0c 这些规则将使用我们收集的指标并在指定的阈值或标准上触发警报 xff0c 收到警报后 xff0c Alertmanager 会处理警报并根据其标签进行路由 一旦路径确定 xff
  • docker部署简易Prometheus

    注 xff1a 部署前可以先系统的学习一下 xff1a Introduction Prometheus中文技术文档 在之后需要书写自定义告警的 xff0c 需要在学习一下PromQL语言 xff0c 一般网上也能搜到 xff0c 可以在安装
  • k8s面试题-进阶

    1 简述etcd及其特点 etcd是CoreOS团队发起的开源项目 xff0c 是一个管理配置信息和服务发现 xff08 service discovery xff09 的项目 xff0c 它的目标是构建一个高可用的分布式键值 xff08
  • 制作Alpine Linux镜像报错errors: 15 distinct packages available

    1 执行报错 执行docker build t 镜像 版本 f Dockerfile 报错 xff1a 2 查看网上的解决思路 网上文档解决思路 xff1a 这边我做了一下改变把这些写入了dockerfile 加了几个RUN RUN rm
  • 如何确定 Python 变量的类型?

    问 xff1a 如何查看变量的类型 xff1f xff08 例如无符号 32 位 xff09 答1 huntsbot com聚合了超过10 43 全球外包任务平台的外包需求 xff0c 寻找外包任务与机会变的简单与高效 使用 type 内置
  • arch linux 登录普通用户显示 "Login incorrect"

    创建用户时指定了 shell xff0c 但是指定 shell 不存在 用 root 登录查看有哪些 shell chsh l 或 span class token function cat span etc shells 用编辑器打开 e
  • 生产者消费者模型

    什么是生产者消费者模型 xff1f span class token variable 生产者和消费是操作系统中一种重要的模型 xff0c 它描述的是一种等待和通知的机制 span 一 概念引入 日常生活中 xff0c 每当我们缺少某些生活
  • Mariadb-Mysql服务器

    1 安装服务 root 64 ftp2 yum install y mariadb 2 启动服务 root 64 ftp2 systemctl start mariadb 3 进入Mysql 因为默认进入Mysql是不需要密码的 xff0c
  • Vmware批量开关机脚本

    运行Windows脚本批量开关Vmware虚拟机 1 vmrun T ws start opt VMware win2k8r2 vmx nogui启动无图形界面虚拟机 xff08 T 是区分宿主机的类型 xff0c ws server se
  • linux下proxy设定的一般方法

    在linux下配置测试环境时 xff0c 经常遇到代理服务器配置的相关问题 xff0c 在这里总结一些 xff0c 为以后节省些时间 也希望对需要的人有所帮助 linux下proxy的常规设置 一般是把如下环境变量的设置放到 etc pro
  • 计算机视觉中的论文常见单词总结

    前言 本文对计算机视觉论文中常出现的单词进行了汇总 xff0c 对于不具备直接阅读英文文献的读者 xff0c 可以考虑把这些单词给背了 之前的文章 计算机视觉中的高效阅读论文的方法总结 中提到了如何掌握阅读英文文献的能力 xff0c 我就是
  • android常见面试题与我自己的回答 (二)

    1 xff0c android process 解决访问SharedPreferences xff0c 不在同一进程 private SharedPreferencesDB Context cxt this context 61 cxt C
  • 解决打开Chrome出现 输入密码以解锁您的登录密钥环

    问题是这样的 xff0c 打开Chrome 后出现如下所示 xff1a xff08 图是网上找的 xff0c 我电脑上解决了这个问题 xff0c 这图就出现不了了 xff09 我的具体情况是 xff0c 输入什么密码都解不开 xff0c 也
  • Spring_ 依赖注入 详细讲解

    文章目录 一 什么是依赖注入 xff1f 1 类的关系1 1 依赖关系 xff08 Dependency xff09 1 2 聚合 xff08 Aggregation xff09 2 关系强度 二 为什么使用依赖注入 xff1f 1 开闭原
  • 向日葵ubuntu19.10安装不上依赖解决办法

    源链接 https blog csdn net zhang24qin article details 103611923 http www luyixian cn news show 267507 aspx 不知道哪个是原作者 都放上面了
  • Linux向日葵重启以后连接不上解决办法

    Linux重启之后向日葵连接不上 xff0c 查看log时候显示和屏幕组件有关 xff0c 获取不到屏幕组件 在 etc profile d 下面创建一个脚本xrk sh vim编辑 bin bash xhost 43 wq 保存一下 ch
  • clickhouse的too many part问题

    clickhouse踩坑记录 Yuque what DB Exception Too many partitions for single INSERT block more than 100 The limit is controlled