
Clickhouse
文章平均质量分 73
Clickhouse基本使用和原理解析
Bulut0907
大数据、机器学习、编程语言、IT相关技术分享, 喜欢请关注、点赞、收藏哦!
展开
-
Flink Table查询mysql数据转换成DataStream插入到Clickhouse
因为Flink Table并不支持插入数据到Clickhouse, 所以通过转换成DataStream的方式,将数据插入到Clickhouse。执行TableSqlTest.scala程序。pom.xml需添加以下依赖。原创 2022-05-16 09:11:08 · 1015 阅读 · 0 评论 -
Clickhouse select查询(含with、sample、array join、prewhere、having、limit by、union all、执行计划等)
目录1. select完整语法1.1 准备数据2. with3. from4. sample5. array join6. join7. where和prewhere1. select完整语法[WITH expr |(subquery)]SELECT [DISTINCT] expr[FROM [db.]table | (subquery) | table_function] [FINAL][SAMPLE expr][[LEFT] ARRAY JOIN][GLOBAL] [ALL|ANY|ASO原创 2021-08-10 21:36:04 · 6941 阅读 · 0 评论 -
Clickhouse数据表、数据分区partition的基本操作
只有MergeTree系列、Merge、Distributed表引擎支持alter操作。测试表和测试数据的准备。原创 2021-08-10 21:34:22 · 16613 阅读 · 4 评论 -
Clickhouse数据库、创建数据表和定义字段默认值、临时表、视图
目录1. 数据库2. 数据表的定义3. 临时表4. 分区表5. 视图5.1 普通视图5.2 物化视图1. 数据库语法:create database if not exists db_name engine = engine_name on cluster cluster_namedrop database if exists db_name on cluster cluster_name数据库引擎如下所示:Ordinary:默认引擎,此引擎数据库可以使用任何表引擎Dictionary:原创 2021-08-10 21:32:47 · 10711 阅读 · 0 评论 -
Clickhouse的数据类型(基础类型、复合类型、其它类型)
目录1. 基础类型1.1 数值类型1.2 字符串类型1.3 时间类型1.4 布尔类型1. 基础类型1.1 数值类型整形名称字节范围类型对应Int81-128 ~ 127byteInt162-32768 ~ 32767shortInt324-2147483648 ~ 2147483647intInt648-9223372036854775808 ~ 9223372036854775807bigintUInt81原创 2021-08-04 22:51:59 · 3875 阅读 · 7 评论 -
Clickhouse其它类型表引擎(Live View、Null、URL)
Live View不是表引擎,是一种视图,通过监听一条SQL查询语句的结果,当开启监听时,会得到这条SQL查询的结果,之后每一次这条SQL查询语句的结果有变化时,Live View都会收到结果。将数据insert到Null表引擎,系统不会报错,但是会忽略插入的数据,select的时候也查询不到数据。再次查看Live View, 可以看到自动监听到了变化的数据。查看Live View, 可以看到自动监听到了变化的数据。如果物化视图源表为Null表引擎,物化视图能同步到数据。这种开启方式只针对此次连接有效。原创 2021-08-01 10:21:37 · 2688 阅读 · 0 评论 -
Clickhouse接口表引擎(Merge、Dictionary、Distributed)
目录1. Merge表引擎接口表引擎不储存数据,通过封装其它表实现特定的功能,提供一种统一的数据访问接口1. Merge表引擎应用场景:当针对相同的数据做了分表操作后,如果想通过一个表查询所有的分表数据,Merge表就可以实现Merge表引擎的不足不支持数据写入各个分表位于同一个数据库各个分表表结构也要相同,但表引擎和partition分区(MergeTree)可以不同城市为Beijing的表创建和数据插入...原创 2021-07-31 15:19:31 · 2551 阅读 · 0 评论 -
Clickhouse日志表引擎(TinyLog、StripeLog、Log)
目录1. TinyLog2. StripeLog3. Log应用场景:单表数据量小于100万,查询简单,一次写入多次查询(数据写入阻塞读)以下日志表引擎性能:由低到高1. TinyLog单线程不支持并行查询数据按列独立储存创建表clickhouse1 :) clickhouse1 :) create table tinylog_table_local on cluster sharding_cluster(:-] id UInt32,:-] name String,:-]原创 2021-07-31 10:19:18 · 3239 阅读 · 0 评论 -
Clickhouse内存储存表引擎(Memory、Set、Join、Buffer)
目录1. Memory表引擎2. Set表引擎除了Memory表引擎,其它内存表引擎都会将数据同步到磁盘,以防数据丢失;当服务重启时,会把全部数据重新加载到内存1. Memory表引擎Memory表引擎一般做测试用,或者Clickhouse内部用于集群间分发数据的临时载体;Memory表引擎在内存的数据,不会被压缩或进行数据格式转换支持并行查询创建表clickhouse1 :)clickhouse1 :) create table memory_table_local on clus原创 2021-07-30 23:14:06 · 6932 阅读 · 0 评论 -
Clickhouse外部储存表引擎(HDFS、MySQL、JDBC、Kafka、File)
目录1. HDFS表引擎1.1 准备工作外部储存表引擎只负责元数据管理,和数据查询1. HDFS表引擎1.1 准备工作HDFS表引擎不支持Kerberos认证,如果开启,请关闭HDFS的Kerberos认证HDFS上新建clickhouse目录[root@clickhouse1 ~]#[root@clickhouse1 ~]# hadoop fs -mkdir /clickhouse[root@clickhouse1 ~]#[root@clickhouse1 ~]# hadoop fs原创 2021-07-25 22:46:38 · 5285 阅读 · 9 评论 -
Clickhouse MergeTree系列(Replacing、Summing等)表引擎使用说明
目录1. ReplacingMergeTree更多关于Clickhouse的文章可以查看Clickhouse专栏系列文章1. ReplacingMergeTree原创 2021-07-21 14:58:41 · 3956 阅读 · 0 评论 -
Clickhouse版本21.6.5.37的分片和副本分布式安装
目录1. 基本介绍1.1 不适用场景1.2 向量化执行1.3 内存的使用2. 安装与部署2.1 安装环境2.2 安装1. 基本介绍1.1 不适用场景不支持事务支持但不擅长根据主键查询整行的数据支持但不擅长按行删除数据不能支持高并发1.2 向量化执行要访问的数据离CPU越近,则计算的速度越快,寄存器是CPU的一个储存系统,当然计算速度最快了Clickhouse的CPU利用SSE4.2指令集操作寄存器来实现一个指令并行操作数据,从而实现向量化执行;该指令不适合用于较多分支判断的场景,应用多原创 2021-07-07 23:07:30 · 3262 阅读 · 0 评论 -
Clickhouse Distributed分布式表引擎的基本介绍和使用说明
目录1. 分布式的本地表1.1 基本语法1.2 分布式的创建本地表1.3 分布式的删除本地表2. Distributed表2.1 创建Distributed表2.2 删除分布式表2.3 Distributed表其它语法3. Distributed表的增删改查3.1 insert3.2 select3.3 分布式本地表mutation3.3 分布式本地表deleteClickhouse的集群部署可以参考我的Clickhouse版本21.6.5.37的分片和副本分布式安装Distributed表需要和其它原创 2021-07-08 15:24:21 · 6634 阅读 · 0 评论 -
Clickhouse Distributed表分布式查询的核心流程
目录1. 副本的选择1.1 random1.2 nearest_hostname1.3 in_order1.4 first_or_random2. 多分片查询的流程3. global in3.1 执行sql语句3.2 查询流程4. global join4.1 执行sql语句4.2 查询流程4.2.1 join4.2.2 global join4.2.3 colocate join1. 副本的选择由user.xml中的参数load_balancing控制,共有四个选项:random、nearest_ho原创 2021-07-10 21:43:36 · 3741 阅读 · 0 评论 -
Clickhouse副本的特性
目录1. 副本的特点2. 副本相关参数1. 副本的特点在zookeeper内创建一系列监听节点,以实现副本之间数据的一致性, 包括INSERT、MERGE、MUTATION和 ALTER在任何副本上执行insert和alter的操作效果是一样的Block是数据insert的基本单元,insert具有原子性(要么成功,要么失败)和唯一性(插入两条一样的数据查询只会有一条)2. 副本相关参数...原创 2021-07-10 22:29:12 · 2690 阅读 · 4 评论 -
Clickhouse的clickhouse-client使用、Java/Scala使用JDBC连接Clickhouse、Pyspark连接Clickhouse
目录1. clickhouse-client1.1 交互式协议1.2 非交互模式2. JDBC更多关于Clickhouse的文章可以查看Clickhouse专栏系列文章1. clickhouse-client底层是基于tcp协议1.1 交互式协议[root@clickhouse1 ~]#[root@clickhouse1 ~]# clickhouse-client -h clickhouse1 --port 9000 -u default --password default123 -mC原创 2021-07-11 10:31:52 · 14328 阅读 · 0 评论 -
Clickhouse MergeTree表引擎的原理解析
目录1. MergeTree简介2. MergeTree表引擎的创建3. 储存结构4. 数据分区5. 一级索引6. 二级索引7. 数据储存8. 数据标记9. 分区、索引、标记和压缩数据的协同总结更多关于Clickhouse的文章可以查看Clickhouse专栏系列文章1. MergeTree简介数据写入时按partition by字段进行分区储存到磁盘,同一个分区的数据会定期合并成一个新的片段只有MergeTree有数据副本、数据分区(partition by)、主键索引、数据采样(sample原创 2021-07-12 15:35:20 · 2282 阅读 · 5 评论 -
Clickhouse MergeTree表引擎TTL分布式实现
目录1. 执行SQL2. 说明3. TTL的运行原理更多关于Clickhouse的文章可以查看Clickhouse专栏系列文章1. 执行SQLclickhouse1 :)clickhouse1 :) create table ttl_table_local on cluster sharding_ha(:-] id UInt64,:-] create_time DateTime,:-] code String ttl create_time + interval 30 second,:-原创 2021-07-12 17:41:09 · 2651 阅读 · 0 评论 -
Clickhouse的多磁盘多路径存储策略
目录1. 背景2. 实战练习2.1 修改config.xml2.2 重启clickhouse server2.3 验证配置成功2.4 jbod策略使用2.4 hot/cold策略使用2.5 分区part的移动更多关于Clickhouse的文章可以查看Clickhouse专栏系列文章1. 背景我们前面安装Clickhouse集群的时候,配置的数据path都是单路径,这里我们学习配置多磁盘上的存储路径,可以减轻磁盘的压力,增加写入和读取的性能[root@clickhouse1 ~]# [root@原创 2021-07-14 22:57:28 · 3744 阅读 · 6 评论