
Clickhouse
vkingnew
Learning......
展开
-
clickhouse 避免可能的死锁 deadlock
In version 19.14 a serious issue was found: a race condition that can lead to server deadlock. The reason for that was quite fundamental, and a temporary workaround for that was added ("possible deadlock avoided").Those locks are one of the fundamental t.原创 2021-04-21 18:14:57 · 3903 阅读 · 0 评论 -
clickhouse pivot / unpivot
这里需要使用clickhouse的map操作,需要在21.3+版本PIVOT:CREATE OR REPLACE TABLE monthly_sales(empid INT, amount INT, month TEXT) ENGINE=Memory(); INSERT INTO monthly_sales VALUES (1, 10000, 'JAN'),(1, 400, 'JAN'),(2, 4500, 'JAN'),(2, 35000, 'JAN'), (1, 5000, 'FEB')原创 2021-04-21 16:19:48 · 2826 阅读 · 2 评论 -
clickhouse lag/lead
clickhouse中的lead和lag实现有多种方法,在标准的SQL中使用的windows function即可实现。示例数据:CREATE TABLE llexample ( g Int32, a Date )ENGINE = Memory;INSERT INTO llexample SELECT number % 3, toDate('2020-01-01') + numberFROM numbers(10);SELECT * FROM llexa.原创 2021-04-21 16:14:48 · 5839 阅读 · 0 评论 -
Clickhouse security
参考:https://docs.altinity.com/operationsguide/security/clickhouse-hardening-guide/https://docs.altinity.com/operationsguide/security/clickhouse-hardening-guide/user-hardening/https://docs.altinity.com/operationsguide/security/clickhouse-hardening-guid原创 2021-04-21 16:06:19 · 341 阅读 · 0 评论 -
clickhouse 使用array 和日历join
示例数据:create table metrics (counter_id Int64, timestamp DateTime, metric UInt64) Engine=Log;INSERT INTO metrics SELECT number % 3, toDateTime('2021-01-01 00:00:00'), 1FROM numbers(20);INSERT INTO metrics SELECT number % 3, toDateTime('2021-0.原创 2021-04-21 15:52:14 · 999 阅读 · 0 评论 -
Clickhouse 新特性 自20.3版本
altinity的官方文档要比clickhouse总结的更加清晰 直接明了。参考:https://clickhouse.tech/docs/en/whats-new/changelog/https://docs.altinity.com/altinitystablerelease/releasenotes/releases/21.1/211/https://docs.altinity.com/altinitystablerelease/releasenotes/releases/..原创 2021-04-21 15:48:30 · 811 阅读 · 0 评论 -
Clickhouse 兼容ANSI SQL mode的设置
clickhouse 可以通过设置一些参数 让展示的效果更加符合标准SQL,但是可能(maybe)会更慢一些。SET join_use_nulls=1; -- introduced long agoSET cast_keep_nullable=1; -- introduced in 20.5SET union_default_mode='DISTINCT'; -- introduced in 21.1SET allow_experimental_window_functions=1; --int.原创 2021-04-21 15:33:20 · 725 阅读 · 0 评论 -
Clickhouse zookeeper 参数优化
在clickhouse集群中,经常遇到和zookeeper压力相关的问题,可以试试如下方法: 1,建表语句设置use_minimalistic_part_header_in_zookeeper = 1,降低clickhouse在ZK上存储的数据量 2,合理调整zk内存使用上限 3,zoo.cfg配置文件中增加参数:(效果较为明显) MaxSessionTimeout=120000 forceSync=no auto.原创 2021-04-21 14:44:16 · 3742 阅读 · 0 评论 -
clickhouse 之windows function
Window Functions 在clickhouse的需求和呼声很高,早期的版本需要借助array函数,在21.1版本进行了开窗函数的初步支持。Initial support in version 21.1,Already supported:OVER (PARTITION BY ... ORDER BY ...);aggregate functions over windows;WINDOW clause;upcoming:non-aggregate window functio...原创 2021-02-08 02:24:01 · 3352 阅读 · 7 评论 -
Clickhouse CTE 语句的支持(功能完整)
在clickhouse早期的版本上 不支持CTE语句,在一些版本上CTE语句支持度不完整。至少从clickhouse 21.1版本开始对CTE语句的支持就日趋完善了,已经支持递归查询。node01.example.com :) select version();SELECT version()Query id: b7e99b50-20d0-4695-a75e-5408230a9c1f┌─version()─┐│ 21.1.3.32 │└───────────┘-- 递归查询:原创 2021-02-08 01:35:24 · 3373 阅读 · 3 评论 -
Clickhouse 生成日历表
clickhouse的 date和datetime的时间范围目前只支持[1970-01-01 00:00:00, 2105-12-31 23:59:59].创建表calender ,一个字段用于存储日期即可。create table calender(date_dt datetime) engine=Log;CREATE TABLE default.calender_details( `date_dt` DateTime COMMENT '日期 2016-01-01 00:00..原创 2020-11-07 00:52:19 · 2575 阅读 · 2 评论 -
Clickhouse CTE 支持
从clickhouse 20.3.30版本开始支持标准SQL的部分with语句的写法 即支持CTE(common table expressionn)SELECT version()┌─version()──┐│ 20.10.3.30 │└────────────┘-- 子查询CDP01.example.com :) with a as (select number from system.numbers limit 10) select * from a;WITH a AS原创 2020-11-07 00:44:03 · 962 阅读 · 4 评论 -
Clickhouse MaterializeMySQL 数据库引擎
在Clickhouse 20.8.2.3 版本中新增一个数据库引擎,将clickhouse模拟为MySQL的从库,可以通过mysql的binlog实时的接收来自mysql的数据并在clickhouse物化,极大提升了数仓的查询性能和数据同步的时效性。同时增加了获取mysql数据的方式,除了mysql协议和mysql函数和mysql表引擎,clickhouse可以作为mysql的从库。ClickHouse can work as MySQL replica - it is implemented by原创 2020-09-27 17:13:06 · 3119 阅读 · 2 评论 -
Clickhouse的 MySQL ELT和interval 功能等同实现 roundDown
在MySQL和Clickhouse中分别创建表:mysql> create table scores(id int not null auto_increment primary key,user_id bigint,scores decimal(10,2));Clickhouse> create table scores(user_id bigint,scores decimal(10,2)) engine=Memory;insert into scores(user_id,s原创 2020-09-01 17:59:50 · 1205 阅读 · 1 评论 -
Clickhouse JSON函数
JSON函数主要有关键字JSON和visitClickhouse> select * from system.functions where name like '%JSON%' union all select * from system.functions where name like '%visit%' FORMAT PrettyCompactMonoBlock;SELECT *FROM system.functionsWHERE name LIKE '%JSON%'UNION原创 2020-08-31 17:31:18 · 2901 阅读 · 0 评论 -
Clickhouse 数学函数
数学函数列表:示例:参考:https://clickhouse.tech/docs/en/sql-reference/functions/math-functions/https://clickhouse.tech/docs/en/sql-reference/functions/rounding-functions/原创 2020-08-31 17:25:21 · 1059 阅读 · 0 评论 -
Clickhouse 转换函数
Clickhouse的提供基本的数据类型:整型浮点型日期时间对应的转换函数:判断函数的类型:参考:https://clickhouse.tech/docs/en/sql-reference/functions/type-conversion-functions/原创 2020-08-31 17:16:32 · 3695 阅读 · 0 评论 -
Clickhouse 参数聚合函数
histogramsequenceMatch(pattern)(timestamp, cond1, cond2, …)sequenceCount(pattern)(time, cond1, cond2, …)windowFunnelretentionuniqUpTo(N)(x)sumMapFiltered(keys_to_keep)(keys, values)参数:https://clickhouse.tech/docs/en/sql-reference/aggregate-functi原创 2020-08-31 17:10:59 · 2262 阅读 · 0 评论 -
Clickhouse 聚合函数
clickhouse的聚合函数包含了标准SQL的聚合函数,此外还有一些自有的聚合函数:函数功能 函数名 标准OR自有 函数别名 计数 count 求和 sum 求平均 avg 最大值 max 最小值 min 中位数 media any anyHeavy ...原创 2020-08-31 15:37:10 · 5662 阅读 · 0 评论 -
Clickhouse 数组函数 高阶函数
数组函数的概述:Clickhouse> select version();SELECT version()┌─version()───┐│ 20.8.1.4447 │└─────────────┘1 rows in set. Elapsed: 0.003 sec. Clickhouse> select * from system.functions where name like '%arr%';SELECT *FROM system.functionsWHE.原创 2020-08-31 11:24:18 · 12368 阅读 · 0 评论 -
Clickhouse 字符串函数
1.基本字符串操作1.1判断是否为空1.2拼接1.3截取1.4字符串长度1.5字符串重复1.6字符串反转1.7追加1.8获取字符串的开头结尾1.9 字符串大小写转换1.10 字符串trim函数1.11 字符串加密和解密2.字符串查找3.字符串替换4.UTF8 相关的函数:Clickhouse> select * from system.functions where name like '%UTF%';SELECT *FROM sys原创 2020-08-25 21:13:43 · 35111 阅读 · 0 评论 -
Clickhouse 日期时间函数
在日期时间的术语中 粒度主要有 年 月日 时分秒 衍生的有季度和周对应的英语为year,month,day,hour minute second quarter week和时间相关的还有时区的概念,timezone。0.系统自带日期时间函数:1.获取年月日时分秒的函数:2.获取周期时间的开始3.时间周期的加减4.时间段的差距:5.日期时间转换为整数:7.日期时间的格式化参考:https://clickhouse.tech/docs/en/sql-refe...原创 2020-08-25 19:42:41 · 7166 阅读 · 0 评论 -
Clickhouse 函数 之 数据函数 逻辑函数 比较函数 条件函数
clickhouse支持的函数相当多,要比一般的RDBMS ,Apache Hive,Apache impala提供了更多的函数。随着版本预计还会增加等多的函数名称。Clickhouse> select version();SELECT version()┌─version()───┐│ 20.8.1.4447 │└─────────────┘1 rows in set. Elapsed: 0.005 sec. Clickhouse> select count(1) f原创 2020-08-25 19:11:55 · 1165 阅读 · 1 评论 -
Clickhouse 设计人员须知
Clickhouse提供了很多性能优化的知识,下面介绍clickhouse designer需要知道的技巧,这样很有利于性能的提升。1.使用字段编码减少数据大小:2.使用物化视图寻找最新的数据:3.使用数组存储键值对:4.使用物化列预计算值:5.使用数据字典替换维度表join:6.使用TTL删除过期数据:7.使用复制替换数据备份(use replication instead of data backup)参考:...原创 2020-08-05 08:06:29 · 865 阅读 · 0 评论 -
Clickhouse DBA常用语句
参考:原创 2020-08-04 23:59:04 · 444 阅读 · 0 评论 -
Clickhouse 日志表引擎家族
参考:https://clickhouse.tech/docs/en/engines/table-engines/log-family/转载 2020-08-03 23:43:56 · 775 阅读 · 0 评论 -
Clickhouse 查询优化器采样 (Sampling Query Profiler)
需要的条件:1.开启设置2.安装额外的软件:# yum -y install clickhouse-client clickhouse-common-static clickhouse-server clickhouse-test clickhouse-common-static-dbg --enablerepo=clickhouse-testing 主要是安装软件包:clickhouse-common-static-dbg 软件包较大可视化可视化trace...原创 2020-08-02 23:34:42 · 1506 阅读 · 0 评论 -
Clickhouse 的group_concat 实现
MySQL的group_concat 函数经常实用,功能蛮强大的。MySQL创建表:create table kpi(emp_no varchar(8),performance varchar(32),month varchar(32));clickhouse 创建表:create table kpi(emp_no varchar(8),performance varchar(32),month varchar(32)) engine=Memory;分别在MySQL和Clickhous原创 2020-08-01 14:44:47 · 19401 阅读 · 1 评论 -
Clickhouse 日期时间 格式转换
中文 和秒的计量 英文缩写 英文全称 毫秒 0.001s ms millisecond 微妙 0.000 001s us microsecond 纳秒 0.000 000 001s ns nanosecond Clickhouse最多只支持到纳秒,多数情况下只需要计算到微妙级别的即可。Clickhouse> select now() dt,now64(3) ms,now64(6) us,now64(9)...原创 2020-07-27 23:31:12 · 56368 阅读 · 2 评论 -
Clickhouse Stream Processing Support
截止目前该功能尚在开发之中。参考:https://github.com/ClickHouse/ClickHouse/pull/8331原创 2020-07-18 11:33:34 · 318 阅读 · 0 评论 -
Clickhouse TPC-H 测试
在clickhouse的issue中已经提到支持了TPC-H的测试。参考:https://github.com/ClickHouse/ClickHouse/pull/9835https://github.com/ClickHouse/ClickHouse/issues/1708原创 2020-07-18 09:43:19 · 1878 阅读 · 0 评论 -
Clickhouse Grafana Prometheus ClickHouse_Exporter 实现Clickhouse服务监控
目前比较流行的GPE监控原创 2020-07-17 17:43:16 · 920 阅读 · 0 评论 -
Clickhouse TPC-DS 测试
截止到目前的版本:clickhouse对 TPC-DS 功能测试并不能完全通过。参考:https://github.com/Altinity/tpc-ds原创 2020-07-17 17:34:19 · 1233 阅读 · 0 评论 -
Clickhouse Zabbix5.0
Zabbix介绍:选择Zabbix5.0Altinity 公司提供的版本在zabbix3.4上测试通过,Zabbix官方已经提供了对clickhouse监控的支持。参考:https://www.zabbix.com/integrations/clickhouse#tab:3rd_partyhttps://github.com/Altinity/clickhouse-zabbix-templatehttps://www.altinity.com/blog/2018/9/3/click.原创 2020-07-17 17:29:13 · 672 阅读 · 0 评论 -
Clickhouse集成 clicktail
下载:# curl -s https://packagecloud.io/install/repositories/Altinity/clickhouse/script.rpm.sh | bash#yum search clicktail# yum info clicktailLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * base: mirrors.bfsu.edu.cn * extra.原创 2020-07-17 15:06:41 · 607 阅读 · 0 评论 -
Clickhouse 压缩
字段压缩和性能原创 2020-07-17 02:27:05 · 884 阅读 · 0 评论 -
Clickhouse 批量执行SQL文件等常用语句
有一堆或者太长的SQL需要执行,可以写成一个文件,批量执行:clickhouse-client --user 用户名 --password 密码 -d 数据库 --multiquery < /root/temp.sql查看SQL的执行计划:clickhouse-client -h localhost --send_logs_level=trace <<<"SQL语句" >/dev/null导入为csv文件:clickhouse-client --q原创 2020-07-16 23:31:03 · 12039 阅读 · 0 评论 -
Clickhouse 原生执行计划
在clickhouse 20.6版本之前要查看SQL语句的执行计划需要设置日志级别为trace才能可以看到,在20.6版本引入了原生的执行计划的语法。Clickhouse> select version();SELECT version()┌─version()───┐│ 20.6.1.4066 │└─────────────┘1 rows in set. Elapsed: 0.007 sec. 执行计划的语法:EXPLAIN [AST | SYNTAX | PLAN |原创 2020-07-17 02:19:48 · 3332 阅读 · 0 评论 -
Clickhouse 普通视图
clickhouse拥有普通视图和物化视图,其中物化视图需要独立的存储,而普通视图只是一层简单的查询同义词。普通视图的创建语法:限制:原创 2020-07-14 23:59:42 · 6690 阅读 · 0 评论 -
Clickhouse 分区表操作
分区转换原创 2020-07-13 02:38:51 · 14638 阅读 · 1 评论