
2025最新-clickhouse
文章平均质量分 68
本专栏是zclickhouse的学习笔记,主要是使用原理以及各种开发遇到的问题。
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
九师兄
可免费问问题,可以一次订阅,终身免费问问题。工作多年遇到的问题,与一些总结,注意事项等,有些是源码级别的讲解,同时整个博客是成体系的,里面有很多连接互相连接,问题都是拆开的,能让大家遇到问题的时候方便的解决问题,或者提供思路。也可以单独找我解决问题。
展开
-
【netty】netty ResourceLeakDetector 资源泄露检测
当你通过 ChannelInboundHandler.channelRead(…) 或者 ChannelOutboundHandler.write(…) 来处理数据,重要的是在处理资源时要确保资源不要泄漏。Netty 使用引用计数器来处理池化的 ByteBuf。所以当 ByteBuf 完全处理后,要确保引用计数器被调整。引用计数的权衡之一是用户时必须小心使用消息。当 JVM 仍在 GC(不知道有这样的消息引用计数)这个消息,以至于可能是之前获得的这个消息不会被放回池中。原创 2024-06-26 00:15:00 · 560 阅读 · 0 评论 -
【Clickhouse】Clickhouse 千万数据 如何更改列的类型
我们有个现场的ck几个字段是字符串类型,但是因为后期发展需要需要更改成array类型。这几个字段当时是没用到的,因此存储的都是空的。请问我有个千万数据的 clickhouse 数据库,然后有个表有个字段是string类型,然后我想把这个字段改成 Array类型,尝试如下方案直接更改字段类型,发现会提示更改错误,但是查看建表语句发现已经修改成功,但是查询数据的话,会报错,无论是历史的 还是新插入的数组类型ALTER TABLE 表名 MODIFY COLUMN 字段名 字段类型;原创 2023-10-24 23:45:00 · 1130 阅读 · 0 评论 -
【Clickhouse】Cannot allocate block number in Zookeeper write prefix view location
我有一个问题,我CK集群跑批的时候,replicated表变成只读的了下面是CK的报错和当时ZK的日志。下面是zk报错开始 我认为是写入的时候,压力太大,ZK扛不住了,就按照博客里的建议优化了ZK的参数,现在偶尔还会只读,zk报错都是图里的那种clickhouse的集群是5分片的集群,数据量比较大。每小时批量一次,每次2-10W条数据,字段的话,不到200个字段,使用的 jdbc sink写入。原创 2023-08-22 20:47:04 · 601 阅读 · 0 评论 -
【Clickhouse】基于TCP的一个clickhouse写入软件clickhouse_sinker性能测试
在这个里面有一些测试性能报告,但是和我们的没有对比,因此我想根据我们的数据和表结构进行测试一下。我们的是日志数据,表结构有500多个字段,然后我们的数据大概是100到150个字段的写入,字段并不是都有值。每条数据大小在 1.2k到2k之间。原创 2023-02-16 20:38:07 · 948 阅读 · 0 评论 -
【clickhouse】clickhouse_sinker 是一个将 kafka 消息传输到ClickHouse的 sinker 程序
github:clickhouse_sinker 是一个将 kafka 消息传输到ClickHouse的 sinker 程序 (打开新窗口).指的是如何工作的设计。原创 2023-02-14 20:45:58 · 1011 阅读 · 0 评论 -
【clickhouse】flink phoenix sink Class.forName 卡死
【clickhouse】flink clickhouse sink Class.forName 卡死一个类似的问题。这个问题是phoenix卡死。代码如下//构造方法 public TableProcessFunction(OutputTag < JSONObject > objectOutputTag , MapStateDescriptor < String , TableProcess > mapStateDescriptor) {原创 2023-02-01 22:08:07 · 541 阅读 · 0 评论 -
【clickhouse】微信基于Clickhouse的实时数仓
亚秒级响应:亿行数据亚秒响应、万亿行数据秒级返回,支持A/B实验平台,BI分析等复杂指标计算场景,可追踪明细;海量数据低时延:百亿级吞吐下的秒级接,入时延,满足实时指标统计、异常检测需求;极简架构:批流一体, T+1、Realtime分析模型统一,简单易运维;视频号等推荐系统的对个性化体验强烈诉求,催生了“亚秒级”分析系统的诞生。高可用:数据接入有精确一次保障,单集群99.99% SLA。原创 2023-01-21 19:53:46 · 1094 阅读 · 0 评论 -
【clickhouse】视频 ClickHouse Online Summer Meetup China 2022 笔记
直播回放:ClickHouse Online Summer Meetup China 2022原创 2023-01-21 19:53:21 · 320 阅读 · 0 评论 -
【clickhouse】Memory limit (for query) exceeded:would use 9.37 GiB (attempt to allocate chunk of 30198
max_memory_usage指定单个SQL查询在该机器上面最大内存使用量除了些简单的SQL,空间复杂度是O(1) 如:凡是涉及group by, order by, distinct, join这样的SQL内存占用不再是O(1)4: Join时小表放到右边, “右表广播” ^v。原创 2022-12-18 12:03:19 · 1751 阅读 · 1 评论 -
【Clickhouse】Clickhouse 精确去重计数性能测试
主要原理:将32bit的Integer划分为高16位和低16位(两个short int),两者之间是Key-Value的关系。高16位存到short[] keys,通过高16位( Key)找到所对应Container,然后把剩余的低16位( Value)放入该Container中, RoaringBitmap有三类Container:丼个栗子:丼个栗子:“双11” 就要到了,需要发放10万张家电类优惠券迚行促销:用户画像场景1—预估人数用户画像场景2—人群圈选画像。原创 2022-12-13 23:30:00 · 1430 阅读 · 0 评论 -
【Clickhouse】Clickhouse 未知原因 导致 连接过多
然后我执行 clickhouse-client 发现无法连接本地的clickhouse。然后我重启ck,之后,没有复现这个问题,不清楚什么导致的ck连接过多。一个环境Flink 写入clickhouse报错 说连接不上。后来查看发现,node1建立了很多连接导致连接全部暂用。然后查看clickhouse发现进程都还在。查看clickhouse状态是正常的状态。并且查看相关的日志,发现没有报错。原创 2022-09-03 10:20:42 · 1282 阅读 · 0 评论 -
【Clickhouse】Clinkhouse-local 介绍
clickhouse 官网对 clockhouse-local的解释The clickhouse-local program enables you to perform fast processing on local files, without having to deploy and configure the ClickHouse server.clickhouse-local uses the same core as ClickHouse server, SO it supports most原创 2023-01-21 19:54:29 · 809 阅读 · 0 评论 -
【Clickhouse】ClickHouse 内部架构介绍
1.概述转载:ClickHouse 内部架构介绍官方原文链接:https://clickhouse.yandex/docs/en/development/architecture/ClickHouse是一个完全面向列式的分布式数据库。数据通过列存储,在查询过程中,数据通过数组来处理(向量或者列Chunk)。当进行查询时,操作被转发到数组上,而不是在特定的值上。因此被称为”向量化查询执行”,相对于实际的数据处理成本,向量化处理具有更低的转发成本。这个设计思路并不是新的思路理念。历史可以追溯到APL编程转载 2022-03-17 23:02:55 · 1316 阅读 · 0 评论 -
【Clickhouse】clickhouse 开窗函数 last_value first_value 分组排序 top值
1.概述今天有个需求,获取每个人送的礼物总和的最大值。这里是一个开窗函数,分组排序,取最大值等。clickhouse版本,低版本的可能没有 last_value这个函数新建一个表然后添加一些数据,执行查询我要如何只要最高的那条呢?我这里加了where 条件只是为了方便看 , 实际是要全表 做这个操作我这样能查出最高的那条 但是我把where 条件去掉 想要全表查出就不行最后发现 last_value搞定了first_value:取窗口内第一个值;last_value:取窗口内最后一个原创 2022-03-12 08:34:18 · 3269 阅读 · 0 评论 -
【Clickhouse】Clckhouse 视图 可以插入 但是查询不到
通过优化分区字段、限制分区数量、定期合并分区、使用分布式表以及检查数据分布,可以有效解决由于分区字段数据过多导致的数据插入成功但无法查询到的问题。原创 2022-03-01 20:42:07 · 1498 阅读 · 0 评论 -
【clickhouse】clickhouse Uint64 不是64位 超限不报错
1.概述int字段是uint64,但是值很大,insert也成功了,但是写入的值和insert 语句的值看不出来关系,也不报错这个是为什么呢?看到这种我第一想法是超过限制了,然后根据官网查看数据范围:https://clickhouse.com/docs/zh/sql-reference/data-types/int-uint/让如下然后如下插入会发现一些规律inset into xx values(18446744073709551615) 结果是 1844674407370955161原创 2022-01-04 21:09:33 · 1296 阅读 · 0 评论 -
【clickhouse】基于ClickHouse的海量数据交互式OLAP分析场景实践
1.概述视频:https://www.bilibili.com/video/BV1gF41167Fd/社区:置顶 ClickHouse 2021 冬季线上Meetup视频回放2.概括3.技术架构4.规范clickhouse离线导入原创 2022-02-13 22:57:24 · 602 阅读 · 0 评论 -
【clickhouse】ClickHouse Practice in EOI
1.概述本博文是视频:ClickHouse Practice in EOI 笔记。社区:[21年冬季meetup分享] - Clickhouse in EOIEOI 的架构设计本次主要讲解,一个写入,一个管理工具为什么不在ClickHouse中内置Kafka引擎?Kafka引擎很复杂,有很多bug,很难调试。Kafka引擎运行在db进程内部,降低了数据库的稳定性。日志混在一起。Kafka Engine不支持自定义分片策略。Kafka Engine和clickhouse.原创 2022-02-13 22:37:55 · 642 阅读 · 0 评论 -
【Clickhouse】Too many partitions for single INSERT block (more than 100)
我们10秒写入一次数据到ck A表(一次时间相同 500条以内条数),然后有个物化视图是B表, 但是偶然看见 报错 OOM kill常见原因:单个INSERT操作中超过了max_partitions_per_insert_block(最大分区插入块,默认值为100)。原创 2022-02-11 19:59:02 · 1678 阅读 · 0 评论 -
【kafka】kafka 时间轮 TimingWheel
举例外部的Purgatory添加任务到定时器中,然后通过Reaper线程的advanceClock移动时钟的调用顺序,假设当前时间currentTime是0s,时间轮的tickMs=1000ms=1s,时间轮大小=8,整个时间轮的范围interval=1s*8=8s,Reaper线程循环时轮询一次队列最长timeoutMs=200ms,添加的四个任务的超时时间分别是[A=0s,B=1s,C=1s,D=3s]。60=60s,刚好作为Level1的tickMs,Level1的interval=60s。转载 2022-02-08 22:10:08 · 669 阅读 · 0 评论 -
【Clickhouse】Clickhouse 整合 Prometheus 监控 运行时状态
1.概述转载:ClickHouse运行时状态监控类似:【clickhouse】docker 下 搭建 clickhouse 监控Clickhouse 在运行时会将一些运行装白保存到系统表中,在对 clickhouse 进行监控时也会从这些系统表中获取数据了解 clickhouse 的运行状态。clickhouse 元数据表中系统监控相关的表但是直接查询这些系统表不能够直观的看到当前系统的状态,另外 clickhouse 外部的一些服务器相关的指标也查看不到,例如 CPU、IO 等信息。推荐使用P转载 2022-02-08 22:09:17 · 3334 阅读 · 0 评论 -
【clickhouse】ClickHouse基础、实践、调优全视角解析
1.概述ClickHouse基础、实践、调优全视角解析(part1-配置篇)ClickHouse基础、实践、调优全视角解析(part2-表引擎介绍)ClickHouse基础、实践、调优全视角解析(part3-常见问题篇)ClickHouse基础、实践、调优全视角解析(part4-典型案例-推荐系统实时指标http://www.clickhouse.com.cn/topic/61da85fe3f1f5b22d2e6ba45...转载 2022-02-08 22:07:02 · 373 阅读 · 0 评论 -
【clickhouse】clickhouse 副本与分片 分片详解
1.概述转载:【clickhouse】clickhouse 副本与分片 分片详解clickhouse 中每个服务器节点都可以被称为一个 shard(分片)。 假设有 N 台服务器,每个服务器上都有一张数据表 A,且每个服务器上的 数据表 A 的数据不重复,那么就可以说数据表 A 拥有 N 的分片。对于一个完整的方案来说,还要考虑在数据写入时如何被均匀低写到各个分片中,以及数据在查询时如何路由到每个分片,组合成结果集。clickhouse 的数据分片需要结合 DIstributed 表引擎一起使用。.转载 2022-02-07 21:23:30 · 6903 阅读 · 0 评论 -
【clickhouse】clickhouse 副本与分片 副本详解
1.概述转载:ClickHouse 11.副本与分片 1. 副本集群是副本和分片的基础,它将 clickhouse 的服务拓扑由单节点延伸到多个节点。clickhouse 集群配置很灵活,既可以将所有节点组成一个单一的大集群,也可以按照业务需求,把节点划分为多个小集群。在每个小集群区域之间,它们的节点、分区和副本数量可以各不相同。clickhouse 集群的工作更多是针对逻辑层面,集群定义了多个节点的拓扑关系,这些节点在后续服务过程中很可能会协同工作,在执行层面的具体工作则交给.转载 2022-02-07 20:37:53 · 4288 阅读 · 0 评论 -
【clickhouse】ClickHouse表引擎 MergeTree 数据生命周期
1.概述转载:ClickHouse表引擎 MergeTree 数据生命周期TTL(Time To Live)表示数据的存活时间,在 Merge 中可以为某个字段或者整个表设置TTL。如果设置列级别的 TTL,那么到期时会删除这一列的数据如果设置表级别的 TTL,那么到期时会删除整个表的数据如果同时设置了列级别和表级别的 TTL,那么会以先到期的为主。无论是列级别还是表级别的 TTL 都要依靠 DateTime 或 Date 类型的字段,通过对这个字段的 Interval 操.转载 2022-02-07 19:38:46 · 1540 阅读 · 0 评论 -
【clickhouse】ClickHouse表引擎 MergeTree 索引与数据存储方式 一级索引 二级索引
分区、索引、标记数据和压缩数据都是 Merge 的重要组成部分,前面介绍过这不各部分的特点之后,现在需要将它们汇聚在一次做一个总结,下面从写入、查询。数据标记与压缩数据的对应关系三个部分介绍。转载 2022-02-07 18:56:43 · 5868 阅读 · 1 评论 -
【clickhouse】ClickHouse表引擎 MergeTree 建表方式与分区规则
1.概述转载:ClickHouse表引擎 1.MergeTree 建表方式与分区规则2.MergeTree 介绍表引擎是 ClickHouse 设计实现中的一大特色。可以说,是表引擎决定了一张数据表最终的“性格”,比如数据表拥有何种特性、数据以何种形式被存储以及如何被加载。ClickHouse拥有非常庞大的表引擎体系,其共拥有合并树、外部存储、内存、文件、接口和其他6大类20多种表引擎。而在这众多的表引擎中,又属合并树(MergeTree)表引擎及其家族系列最为强大,在生产环境的绝大部分场景中,都.转载 2022-02-07 18:32:21 · 5241 阅读 · 0 评论 -
【clickhouse】ClickHouseException code: 225 ZooKeeper session has been expired
1.概述转载:Clickhouse写入问题汇总com.dtstack.jlogstash.outputs.core.common.ClickhouseException: ru.yandex.clickhouse.except.ClickHouseException: ClickHouse exception, code: 225, host: 172.16.8.84, port: 8123; Code: 225, e.displayText() = DB::Exception: ZooKeeper .转载 2022-02-05 13:20:13 · 1675 阅读 · 0 评论 -
【clickhouse】ClickHouseException code: 999 Cannot allocate block number in ZooKeeper: Coordination
1.概述clickhouse报错com.dtstack.jlogstash.outputs.core.common.ClickhouseException: ru.yandex.clickhouse.except.ClickHouseException: ClickHouse exception, code: 999, host: 172.16.8.84, port: 8123; Code: 999, e.displayText() = DB::Exception: Cannot allocate b.原创 2022-02-05 13:16:01 · 4635 阅读 · 0 评论 -
【Clickhouse】Connection is currently waiting for an insert operation, check your previous InsertState
在【clickhouse】clickhouse 如何实现tcp方式发送数据文章中我们实现了,tcp方式写入到ck。)");i < 10;i++) {然后在flink程序中,我也这么做,代码基本如下)");i < 2;i++) {。但是我在外网测试,却不会报错这个,就很奇怪。但是后来我模拟flink的样子,也没搞出来错误,很奇怪@Overridetry {)");i < 2;i++) {});GPT的提示。原创 2022-01-26 18:46:03 · 1704 阅读 · 2 评论 -
【clickhouse】Too many parts . Merges are processing significantly slower than inserts
1.概述转载:添加链接描述相信很多同学在刚开始使用clickhouse的时候都有遇到过该异常,出现异常的原因是因为MergeTree的merge的速度跟不上目录生成的速度, 数据目录越来越多就会抛出这个异常, 所以一般情况下遇到这个异常,降低一下插入频次就ok了,单纯调整background_pool_size的大小是治标不治本的。我们的场景:我们的插入速度是严格按照官方文档上面的推荐”每秒不超过1次的insert request”,但是有个插入程序在运行一段时间以后抛出了该异常,很奇怪。问题排查转载 2022-01-19 21:13:06 · 3495 阅读 · 1 评论 -
【clickhouse】clickhouse 单机安装 集群安装
集群安装:https://www.bilibili.com/video/BV1uP4y1b7du?spm_id_from=333.999.0.0 时间 1小时 30分钟。原创 2022-01-09 22:57:11 · 547 阅读 · 0 评论 -
【clickhouse】clickhouse强大智能的 Projection (投影) 功能
相比普通物化视图是一张独立的表,Projection 物化的数据就保存在原表的分区目录中,支持明细数据的普通Projection 和 预聚合Projection。好了,今天的分享就到这里,再有了 PROJECTION 之后,可以说 ClickHouse 更加的如虎添翼了。通过刚才的例子,你能发现在查询时, PROJECTION 的使用是无感的,ClickHouse 会根据提交的 SQL 语句自动匹配。因为物化的数据保存在原表的分区,所以数据的更新、合并都是同源的,也就不会出现不一致的情况了。转载 2022-01-07 20:46:25 · 3913 阅读 · 10 评论 -
【clickhouse】clickhouse 主从配置 从节点无数据
1.概述clickhouse主从配置好后,主或副本节点 执行插入操作都能把写操作写到zookeeper,但是 主从节点间 却没有实现数据复制。最终找到原因了,是因为没有配置hostname原创 2021-12-27 23:01:13 · 1735 阅读 · 0 评论 -
【clickhouse】clickhouse表引擎之 kafka 表引擎 卡死
1.概述官网:kafka 表引擎 建议看官网。参考文章:【Clickhouse】Clickhouse 集成kafka2.官网kafka让你:发布或订阅数据流。组织容错存储。处理流可用。2.1 创建表CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]( name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1], name2 [type2] [DEFAUL原创 2021-12-27 23:00:18 · 876 阅读 · 0 评论 -
【clickhouse】ClickHouse之DBA运维宝典
1.概述转载:ClickHouse之DBA运维宝典 这里仅仅是积累知识。建议大家去看原来的。最近有位网友与我聊天,他是一名 DBA,问我在 ClickHouse 中有没有一些能够 “安家立命” 的运维 SQL 语句。我想对于这个问题很多朋友都会有兴趣,所以就在这里做一个简单的分享。在 ClickHouse 默认的 system 数据库下(databse),拥有众多的系统表。我们对 ClickHouse 运行状态的各种信息,就主要来自于这些系统表。接下来就列举一些常用的运维 SQL 语句。1.1 当转载 2021-12-27 22:59:41 · 651 阅读 · 0 评论 -
【clickhouse】clickhouse Exception: Table is in readonly mode
clickhouse报错后来发现是 迁移了数据,zk上的元信息丢失了导致的zookeeper压力太大,表处于“read only mode”模式,导致插入失败;表只读了,建议先停止写入,然后看后台日志,Merge结束了再打开。原创 2021-12-27 22:54:53 · 9973 阅读 · 2 评论 -
【clickhouse】Clickhouse的MySQL引擎同步数据不准确 Decimal
1.概述我想从MySQL同步数据到Clickhouse,但是发现Clickhouse的MySQL引擎同步数据不准确,精度丢失而且还是不对的。下面是MySQL中的数据下面是同步后的数据,可以看到数据不对了Mysql是1899,到ck就成负数了,而且很大,Mysql的数据是通过kettle同步过来的,Ck是mysql的从库经过一番折腾 转成双精度就行了...原创 2021-12-25 09:32:03 · 1517 阅读 · 0 评论 -
【clickhouse】clickhouse : Suspiciously many broken parts to remove.: Cannot attach table default
1.概述clickhouse这个报错。好多次了。DB::Exception: Suspiciously many (26) broken parts to remove.: Cannot attach table default也没做啥操作,反正就是经常报这个错误。然后就启动不起来。我12个节点,6个分片的集群。而且过段时间就会出现这个问题...原创 2021-12-23 21:30:51 · 1682 阅读 · 5 评论 -
【clickhouse】clickhouse TCP 方式发送数据 ClickHouse-Native-JDBC
1.概述以前写了一个博客:【clickhouse】clickhouse 如何实现tcp方式发送数据 在这个博客里面提到了 ClickHouse-Native-JDBC,但是看到看到使用方法,一时间以为是JDBC方式写入,走的是jdbc,以为不是tcp写入。后来再次看的时候 发现是TCP方式写入。git地址:git@github.com:housepower/ClickHouse-Native-JDBC.git使用方法建议使用这个:https://gitee.com/liuyangfirst/Clic原创 2021-12-21 09:17:38 · 2120 阅读 · 2 评论