Clickhouse
列式分布式数据库管理系统
小陈菜奈-
这个作者很懒,什么都没留下…
展开
-
clickhouse -- clickhouse解析复杂JSON数组
clickhouse解析复杂JSON数组。原创 2023-12-01 10:48:40 · 1022 阅读 · 0 评论 -
clickhouse--JSON解析案例
JSON解析案例[clickhouse加载文件类型](https://clickhouse.tech/docs/en/interfaces/formats/#formats) [json解析字符串函数](https://clickhouse.tech/docs/en/sql-reference/functions/json-functions/)--建表drop table if exists tb_ods_log;create table tb_ods_log(line String)en原创 2021-09-08 09:18:58 · 1478 阅读 · 0 评论 -
clickhouse连续销售案例
连续销售记录案列将数据导入到clickhouse表中1)name和日期排序2)name和日期相同的数据去重create table tb_shop(name String,cdate Date,money Float64)engine=ReplacingMergeTree()order by (name,cdate);a,2017-02-05,200a,2017-02-06,300a,2017-02-07,200a,2017-02-08,400a,2017-02-08,300原创 2021-09-08 09:18:41 · 134 阅读 · 0 评论 -
clickhouse系统函数
系统函数数组函数//empty 数组判空函数select empty(array(1,2));┌─empty(array(1, 2))─┐│ 0 │└────────────────────┘select empty(array());┌─empty(array())─┐│ 1 │└────────────────┘//length数组长度函数select length(array(1,3,4));┌─length(a原创 2021-09-08 09:18:21 · 508 阅读 · 0 评论 -
clickhouse连接查询
连接查询create table yg(id Int8,name String,age UInt8,bid Int8)engine=Log;insert into yg values(1,'aa',23,1),(2,'bb',24,2),(3,'cc',27,1),(4,'dd',13,3),(5,'ee',53,3),(6,'ff',33,3);select * from yg;┌─id─┬─name─┬─age─┬─bid─┐│ 1 │ aa │ 23 │原创 2021-09-08 09:17:47 · 1676 阅读 · 0 评论 -
clickhouse查询语法--array join
array joinarray join子句允许在数据表的内部,与数组或嵌套类型的字段进行join操作,从而将一行数组展开为多行,类似于hive中的exploded炸裂函数的功能create table tb_array_join(id Int8,hobby Array(String))engine=Log;insert into tb_array_join values(1,['eat','drink','sleep']),(2,array('study','sport','read'));原创 2021-09-07 09:31:28 · 5393 阅读 · 0 评论 -
clickhouse查询语法--from
fromSQL是一种面向集合的编程语言,from决定了程序从哪里读取数据1)表中查询数据2)子查询中查询数据3)表的数中查询数据 select * from numbers(3);filefile(path,format,structure) //数据文件必须在指定的目录下例如select * from file('/var/lib/clickhouse/demo.csv','CSV','id Int8,name String,age UInt8')numberselect numb原创 2021-09-07 09:30:00 · 687 阅读 · 0 评论 -
clickhouse查询语法--with
withclickhouse支持CTE(Common Table Expression,公共表达式),以增强查询语句的表达select pow(2,3); //pow是计算次方值函数┌─pow(2, 3)─┐│ 8 │└───────────┘select pow(pow(2,2),2);┌─pow(pow(2, 2), 2)─┐│ 16 │└───────────────────┘改用CTE的形式后,可以极大地提高语句的可读性和可原创 2021-09-07 09:28:45 · 1941 阅读 · 0 评论 -
clickhouse分区表操作
分区表操作只有MergeTree引擎支持数据分区,区内排序,合并,去重create table tb_partition(id UInt8,name String,birthday DateTime)engine=MergeTree()partition by toDate(birthday)order by id;insert into tb_partition values(1,'xl',now()),(2,'ly','2021-08-27 17:44:30'),(3,'xf'原创 2021-09-07 09:25:07 · 1742 阅读 · 6 评论 -
clickhouse视图
视图clickhouse拥有普通和物化两种视图物化视图拥有独立的存储普通视图只是一层简单的查询代理create table tb_insert(id UInt8,name String)engine=Memory;insert into tb_insert values(1,'cxy'),(2,'zyt'),(3,'hx'),(4,'wyy');select * from tb_insert;┌─id─┬─name─┐│ 1 │ cxy ││ 2 │ zyt ││原创 2021-09-07 08:46:37 · 585 阅读 · 0 评论 -
clickhouse引擎--外部存储引擎
外部存储引擎一.MySQL表引擎二.MySQL数据库引擎三.File文件引擎四.表函数-file一.MySQL表引擎create table tb_mysql(id Int16,name String,age UInt8)engine=MySQL('连接数据库的主机名:3306','库名','表名','用户名','用户密码')在MySQL中插入数据会同步到clickhouse在clickhouse中插入数据会同步到MySQL二.MySQL数据库引擎create database db原创 2021-09-06 17:29:46 · 237 阅读 · 0 评论 -
clickhouse引擎--内存引擎
内存引擎一.Memory二.Set三.Buffer一.MemoryMemory表引擎直接将数据保存在内存中,数据既不会被压缩也不会被格式转化,数据在内存中保存的形态与查询时看到的如出一辙,因此,当clickhouse服务重启时,Memory表内的数据会全部丢失,所以在一些场合,会将Memory作为测试表使用Memory表更为广泛的应用场景是在clickhouse的内部,它会作为集群间分发数据的存储载体来使用,列如在分布式IN查询的场合中,会利用Memory临时表保存IN子句的查询结果,并通过网络将它原创 2021-09-06 17:23:22 · 841 阅读 · 0 评论 -
clickhouse引擎--AggregatingMergeTree引擎
AggregatingMergeTree引擎AggregatingMergeTree引擎从聚合表中查询数据使用物化视图同步聚合数据AggregatingMergeTree引擎AggregatingMergeTree能够在合并分区的时候,按照预先定义的条件聚合数据,同时,根据预先定义的聚合函数计算数据并通过二进制的格式存入表内,将同一分组下的多行数据聚合成一行,既减少了数据行,又降低了后续聚合查询的开销,可以说AggregatingMergeTree是SummingMergeTree的升级版,它们许多设计原创 2021-09-06 14:44:28 · 1079 阅读 · 2 评论 -
clickhouse引擎--ReplacingMergeTree引擎
ReplacingMergeTree引擎ReplacingMergeTree引擎无参数版本有参数版本ReplacingMergeTree引擎这个引擎是在MergeTree的基础上,添加了==“处理重复数据”==的功能,该引擎和MergeTree的不同之处在于它会删除具有相同(区内排序一样的重复项,数据的去重只会在合并的过程中出现。合并会在未知的时间在后台进行,所以无法预先做出计划,有一些数据可能仍未被处理,因此,ReplacingMergeTree适用于在后台清理重复的数据以节省空间,但它不保证没有重复原创 2021-09-06 14:23:37 · 388 阅读 · 0 评论 -
clickhouse引擎--VersionedCollapsingMergeTree引擎
VersionedCollapsingMergeTree引擎VersionedCollapsingMergeTree引擎VersionedCollapsingMergeTree引擎为了解决CollapsingMergeTree乱序写入情况下无法折叠(删除)问题,VersionedCollapsingMergeTree引擎在建表语句中新增了一列Version,用于在乱序情况下记录状态行与取消行的对应关系,主键排序相同,且Version相同,sign相反的行,在Compaction时,与Collapsing原创 2021-09-06 13:52:38 · 467 阅读 · 0 评论 -
clickhouse引擎--CollapsingMergeTree引擎
CollapsingMergeTree引擎CollapsingMergeTree引擎CollapsingMergeTree引擎CollapsingMergeTree是一种通过以增代删的思路,支持行级数据修改和删除的表引擎,它通过定义一个sign标记位字段,记录数据行的状态,如果sign标记为1,则表示这是一行有效数据,如果sign标记为-1,则表示这行数据需要被删除,当CollapsingMergeTree分区合并时,同一数据分区内,sign标记为1和-1的一组数据会被抵消删除。多行的排序相同的状态原创 2021-09-06 11:58:38 · 968 阅读 · 0 评论 -
clickhouse引擎--SummingMergeTree引擎
SummingMergeTree引擎SummingMergeTree引擎用于求和create table sum_tree(id String,city String,sal UInt32,comm Float64,time DateTime)engine=SummingMergeTree()partition by toDate(time)primary key idorder by(id,city);insert into sum_tree values(1,'shangha原创 2021-09-06 11:50:32 · 156 阅读 · 0 评论 -
clickhouse引擎--MergeTree引擎
MergeTree引擎一.MergeTree引擎二级目录三级目录一.MergeTree引擎MergeTree系列的表引擎是clickhouse数据存储功能的核心,它们提供了用于弹性和高性能数据检索的大多数功能:列存储,自定义分区,稀疏的主索引,辅助数据跳过索引等二级目录三级目录MergeTree系列的表引擎是clickhouse数据存储功能的核心,它们提供了用于弹性和高性能数据检索的大多数功能:列存储,自定义分区,稀疏的主索引,辅助数据跳过索引等主要特点:1.存储按主键排序的数据(必须有ord原创 2021-09-06 11:45:33 · 271 阅读 · 0 评论 -
clickhouse引擎--Log引擎
Log引擎Log系列引擎一.TinyLog引擎二.Log引擎三.StripeLog引擎Log和StripeLog引擎支持表引擎是clickhouse设计实现中的一大特色表引擎(即表的类型)决定了数据的存储方式和位置,写到哪里以及从哪里读取数据支持哪些查询以及如何支持并发数据访问索引的使用(如果存在)是否可以执行多线程请求数据复制参数,是否可以存储数据副本分布式引擎实现分布式Log系列引擎Log家族具有最小功能的轻量级引擎,当需要快速写入许多小表(最多约100万行)并在以后的整体读取它原创 2021-09-06 11:13:52 · 809 阅读 · 0 评论 -
clickhouse基本语法
clickhouse基本语法一.基本语法演示二.基本的建表语法三.DDL基础一.基本语法演示show databases;create database if not exists test1;use test1;select currentDatabase(); //查看当前使用的数据库drop database test1;drop database test1;二.基本的建表语法注意在ck中关键字严格区分大小写ck中建表的时候,一定指定表引擎create table tb_原创 2021-09-06 10:40:58 · 1157 阅读 · 2 评论 -
Clickhouse基本数据类型
基本数据类型一.数据类型1.IntX(有负数)和UIntX(没有负数)2.FloatX3.Decimal二.字符串类型1.String2.FixedString(N--指定长度字符串)3.UUID(唯一标识)三.时间类型1.Date2.DateTime3.DateTime64四.复杂类型1.Enum2.Array3.Tuple4.Nested5.Map6.GEO7.IPv48.Boolean和Nullable一.数据类型1.IntX(有负数)和UIntX(没有负数)ck支持无符号的整数,使用前缀U表原创 2021-09-03 19:22:10 · 646 阅读 · 0 评论 -
clickhouse入门学习
clickhouse一.clickhouse是什么三级目录一.clickhouse是什么clickhouse是一个完全的列式分布式数据库管理系统(DBMS)clickhouse是一个用于联机分析(OLAP)的列式数据库管理系统,主要用于在线分析处理查询,能够使用SQL查询实时生成分析数据报告非关系型数据库OLAP:OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的三级目录...原创 2021-09-03 17:44:35 · 308 阅读 · 0 评论