Clickhouse
文章平均质量分 76
Clickhouse个人实践,欢迎交流
Abner G
怀揣“空杯”,期待满载而归
展开
-
Clickhouse(1)---了解OLAP
了解OLAP概念分类不同需求OLAP方案Clickhouse1 优点2 缺点参考博客概念OLAP 即联机分析处理。就是对对业务数据执行多维分析,并提供复杂计算,趋势分析和复杂数据建模的一种软件技术维度(Dimension):维度是描述与业务主题相关的一组属性,单个属性或属性集合可以构成一个维。如时间、地理位置、年龄和性别等都是维度。维的层次(Level of Dimension)一个维往往可以具有多个层次,例如时间维度分为年、季度、月和日等层次,地区维可以是国家、地区、省、市等层次维的成员(Me原创 2021-06-23 21:35:27 · 481 阅读 · 0 评论 -
【踩坑日常】解决 ClickHouse 分布式表重建引发的元数据异常问题Existing table metadata in ZooKeeper differs in primary key.
在线上分布式 ClickHouse 数据表结构需要调整,这要求删除现有的分布式表,并重新创建(DDL 发生变化)。然而,删除表后重新创建时可能会出现异常。原创 2024-01-29 19:58:36 · 1172 阅读 · 0 评论 -
【踩坑日常】-- clickhouse DB::Exception: Division by zero: while executing ‘FUNCTION divide
既然无论条件是什么,都会评估 if() 的 else 参数,那么在扫描的时候,加判断转化为数字,避免报错。原因可能还是跟Decimal底层的存储结构有关,底层应该做了限制,并且在除法运算中。进行判断,依旧还是报错。原创 2022-11-03 19:40:58 · 1342 阅读 · 0 评论 -
【Kettle】 Kettle连接Clickhouse自定义插件2.0(升级驱动)
使用Kettle 整合不同Mysql数据库数据,批量插入Clickhouse,会不定时出现错误 。Clickhouse社区给出的答案是驱动问题。社区回答Kettle 官方自定义创建插件文档喜欢吃燕麦粥的KeyL 大佬博客这里使用的还是kettle 8.1的包,9.1也可以使用,这里使用Clickhouse官方最新驱动按照官方文档重写对应方法getURL方法驱动修改getDriverClass打包将所有依赖jar,打包成jar包。存放到新建clickhouse-plugins文件夹下。需原创 2022-06-29 21:48:27 · 1739 阅读 · 3 评论 -
Clickhouse---导入导出文件
Clickhouse---导入导出文件前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言工作中遇到Clickhouse 数据的导入导出操作,当时使用DataGrip应急导出文件。本文总结一下Clickhouse导入导出文件的操作。一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport原创 2022-04-07 21:10:45 · 2883 阅读 · 0 评论 -
【踩坑日常】-- Clickhouse批量导入数据报错
☀️项目场景:使用 【insert …select…】语法,批量导入数据。报错Too many partitions for single INSERT block(more than 100)⭐️原因分析:默认一批次写入里包括大于100个分区值clickhouse要求每次写入的数据不能跨越特别多的分区, 具体受max_partitions_per_insert_block控制。🏆解决方案:在用户全局配置文件/etc/clickhouse-server/user.xml,配置<原创 2022-03-08 21:59:35 · 2420 阅读 · 0 评论 -
Clickhouse---集群语法
Clickhouse---集群语法⌨️前言🌕创建表⌨️前言在单机语法的基础上,进行集群语法扩充。提示:以下是本篇文章正文内容,下面案例可供参考🌕创建表单机create table house_enterprise_property_temp( enterprise_id Nullable(String) comment '企业id', property_id String comment '项目总期id', create_time原创 2022-03-04 20:21:30 · 1019 阅读 · 0 评论 -
数据库连接工具---DBeaver
数据库连接工具---DBeaver☁️前言⭐️下载安装????下载????安装????连接Clickhouse✨快捷键☁️前言在工作中使用DataGrip,发现创建Clickhouse表语句设置了字段注释,但是创建完之后,注释消失。发现是客户端工具的问题。(有大佬知道怎么解决,请留言!)果断换用新的客户端DBeaver,开源,不用破解,支持的数据库类型全。⭐️下载安装????下载官网地址????安装安装很简单,一直点下一步就好了。????连接Clickhouse输入连接串,原创 2022-02-15 22:26:47 · 1563 阅读 · 4 评论 -
Clickhouse(8)---Log引擎&StripeLog引擎
Log引擎&StripeLog引擎????前言???? Log引擎????文件结构???? 特征???? StripeLog引擎????文件结构???? 特征????总结????前言官方文档log引擎家族有3种引擎:TinyLogStripeLogLogClickhouse(7)—TinyLog引擎本文记录 Log引擎&StripeLog引擎???? Log引擎日志与 TinyLog 的不同之处在于,«标记» 的小文件与列文件存在一起。这些标记写在每个数据块上,原创 2022-01-24 22:27:26 · 702 阅读 · 0 评论 -
Clickhouse--数组函数
Clickhouse--数组函数☀️前言⭐️ SQL冗余诟病✨ arrayJoin????arrayEnumerate???? 理解建表语句???? 总结????arrayEnumerateDense???? 总结????arrayEnumerateUniq???? 理解????总结????实际开发使用☀️前言日常工作可能会遇到数据库一对多的字段,被用逗号或者其他特殊字符分割,存在一起。类似:如果要查询‘信息技术’标签的数据,SQL会很麻烦。下文做具体实现。⭐️ SQL冗余诟病以Mysql为原创 2022-01-22 23:30:56 · 5555 阅读 · 2 评论 -
Clickhouse--AB表切换
AB表切换☀️定义⭐️工作使用????资料以下内容为资料内容,方式2 未验证????利用 RENAME 语法????利用 EXCHANGE TABLES 语法☀️定义AB 表切换的使用场景应该说还是很广泛的,比如历史表归档、批量抽数的时候都可以采用 AB 表切换的思路来实现。比如有这样一个场景,test_a 是面向终端查询的数据表,数据每天定点全量更新。为了减少数据更新对查询的影响,这里准备用 AB 表切换的思路进行。Clickhouse对于更新删除数据支持不友好,对于数据的更新采用整体更新AB表原创 2022-01-13 22:29:57 · 1398 阅读 · 0 评论 -
Clickhouse(7)---TinyLog引擎
TinyLog引擎Clickhouse表引擎TinyLog引擎底层数据存储不允许同时读写Clickhouse表引擎表引擎(即表的类型)决定了:数据的存储方式和位置,写到哪里以及从哪里读取数据支持哪些查询以及如何支持。并发数据访问。索引的使用(如果存在)。是否可以执行多线程请求。数据复制参数,是否可以存储数据副本。分布式引擎 实现分布式TinyLog引擎Log家族具有最小功能的[轻量级引擎。当您需要快速写入许多小表(最多约100万行)并在以后整体读取它们时,该类型的引擎是最有效的原创 2022-01-12 23:14:45 · 856 阅读 · 0 评论 -
Clickhouse--时区,年,季度,半年
Clickhouse--时区,年,季度,半年SQL 年,季度,半年时区默认设置Linux下修改系统时间SQL 年,季度,半年-- 月度SELECT concat(toString(toYear(now())),'年',toString(toMonth(now())),'月');-- 季度SELECT concat(toString(toYear(now())),'年',if(toMonth(now())/6>1,if(toMonth(now())/3>3,'4季度','3季度'),i原创 2022-01-10 23:42:19 · 3065 阅读 · 0 评论 -
Kettle连接Clickhouse
Kettle连接Clickhouse背景使用下载地址背景kettle目前版本没有clickhouse驱动,需要自定义插件。Kettle 版本,Kettle8&Kettle9 版本可使用clickhosue 插件和依赖准备(下文有下载地址)使用下载解压之后如下将 clickhouse-plugins 文件夹复制到…\data-integration\plugins下将 kettle连接ClickHouse驱动包文件夹下的jar包,复制到自己环境的位置…\data-int原创 2021-12-08 12:05:56 · 2255 阅读 · 2 评论 -
kettle API调用Clickhouse插件
kettle API调用Clickhouse插件背景解决参考博客背景kettle目前版本没有clickhouse驱动,需要自定义插件。使用Kettle工具连接Clikchouse正常连接,但是使用Java调用Kettle时,报【database type with plugin id [Clickhouse] couldn’t be found!】这样的报错。解决需要在执行ktr的时候,设置变量。 String KETTLE_PLUGIN_BASE_FOLDER = sourceFi原创 2021-12-08 10:46:20 · 3190 阅读 · 4 评论 -
Clickhouse(6)---Clickhouse函数
Clickhouse函数本文为转载博客,防止原博客丢失,自己保存一份!ClickHouse函数整理(详细) 1、日期类函数 1.1 时间或日期截取函数(to)—— 返回非日期 函数用途举例结果toYear()取日期或时间日期的年份toYear(toDateTime(‘2018-12-11 11:12:13’)) toYear(toDate(‘2转载 2021-11-05 17:26:22 · 1238 阅读 · 0 评论 -
Clickhouse(5)---Clickhouse语法
Clickhouse语法DDL基础创建表方式1方式2方式3修改表DML基础方式1方式2方式3DDL基础clickhouse建表必须指定引擎!clickhouse建表必须指定引擎!clickhouse建表必须指定引擎!目前只有MergeTree、Merge和Distributed这三类表引擎支持 ALTER修改,所以在进行alter操作的时候注意表的引擎!创建表方式1完整语法CREATE TABLE [IF NOT EXISTS] [db_name.]table_name (colu原创 2021-10-28 11:04:17 · 1897 阅读 · 0 评论 -
Clickhouse(4)---Clickhouse数据类型
Clickhouse数据类型数值类型IntX和UIntXFloatXDecimal字符串类型StringFixedStringUUID时间类型二级目录复杂类型二级目录函数算数函数CK中关键字严格区分大小写建表的时候一般情况下要指定引擎!!!-- 创建表create table tb_test1(id Int8 , name String )engine=Memory;┌─name─┬─type───┬─default_type─┬─default_expression─┬─comment─┬原创 2021-10-25 19:25:21 · 1167 阅读 · 0 评论 -
Clickhouse(3)---Clickhouse系统架构之Clickhouse特征
Clickhouse系统架构之Clickhouse特征Clickhouse特征1.完备的DBMS系统2.真正的列式数据库管理系统3.数据压缩4.数据的磁盘存储5.多核心并行处理6.多服务器分布式处理7.支持SQL高阶函数8.向量引擎 (并行)9.实时的数据更新 (MergeTree表引擎的表)10.索引11.适合在线查询12.支持近似计算13.多主架构14.支持数据复制和数据完整性Clickhouse优缺点优点缺点Clickhouse查询为什么快Clickhouse特征1.完备的DBMS系统Click原创 2021-09-28 17:39:34 · 685 阅读 · 0 评论 -
Clickhouse(2)---【VMwear 15,Centos7,SecureCRT】Clickhouse 下载安装
@TOC软硬件准备ClickHouse支持运行在主流64位CPU架构(X86、AArch和 PowerPC)的Linux操作系统之上,首先准备运行环境。软件:推荐使用VMwear,此文使用VMwear 15镜像:CentOS7 ,如果没有镜像可以在官网下载 镜像链接远程连接工具:SecureCRT 参考博客文末有本文使用资源百度云地址安装VMwear 15解压下载好的VMwear 15压缩包,双击应用程序,下一步安装完成。压缩包有密钥。VMware15安装Centos7创建虚拟机原创 2021-07-18 15:05:10 · 1300 阅读 · 0 评论