摘要:
ClickHouse 的 SQL 优化规则是基于RBO(Rule Based Optimization),下面是一些优化规则细节, 1、准备测试表 1、上传官方的数据集:将visits_v1.tar和hits_v1.tar上传到虚拟机,解压到clickhouse数据路径下:将visits_v1.ta 阅读全文
摘要:
在clickhouse 20.6版本之前要查看SQL语句的执行计划需要设置日志级别为trace才能可以看到,并且只能真正执行sql,在执行日志里面查看。在20.6版本引入了原生的执行计划的语法。在20.6.3版本成为正式版本的功能。 1、基本语法 EXPLAIN [AST | SYNTAX | PL 阅读全文
摘要:
在实际应用中,我们一般都需要将数据按照某个key进行分区,然后再进行计算处理;所以最为常见的状态类型就是Keyed State。之前介绍到keyBy之后的聚合、窗口计算,算子所持有的状态,都是Keyed State。另外,我们还可以通过富函数类(Rich Function)对转换算子进行扩展、实现自 阅读全文
摘要:
1、数据类型 1.1、时间字段类型 建表时能用数值型或日期时间型表示的字段就不要用字符串,全String类型在以Hive为中心的数仓建设中常见,但ClickHouse环境不应受此影响。虽然ClickHouse底层将DateTime存储为时间戳Long类型,但不建议存储Long类型,因为DateTim 阅读全文
摘要:
ClickHouse 副本的目的主要是保障数据的高可用性,即使一台ClickHouse节点宕机,那么也可以从其他服务器获得相同的数据。官网地址如下: https://clickhouse.com/docs/en/engines/table-engines/mergetree-family/repli 阅读全文
摘要:
基本上来说传统关系型数据库(以MySQL为例)的SQL语句,ClickHouse基本都支持,这里不会从头讲解SQL语法只介绍ClickHouse与标准SQL(MySQL)不一致的地方。 1、insert 基本与标准SQL(MySQL)基本一致 insert into [table_name] val 阅读全文
摘要:
6、SummingMergeTree 对于不查询明细,只关心以维度进行汇总聚合结果的场景。如果只使用普通的MergeTree的话,无论是存储空间的开销,还是查询时临时聚合的开销都比较大。ClickHouse 为了这种场景,提供了一种能够“预聚合”的引擎SummingMergeTree 建表 crea 阅读全文
摘要:
4.4、二级索引 目前在ClickHouse的官网上二级索引的功能是默认开始的,创建测试表 create table t_order_mt2( id UInt32, sku_id String, total_amount Decimal(16,2), create_time Datetime, IN 阅读全文
摘要:
1、表引擎介绍 ClickHouse表引擎是ClickHouse的一大特色。可以说, 表引擎决定了如何存储表的数据。包括: 数据的存储方式和位置,写到哪里以及从哪里读取数据。 支持哪些查询以及如何支持。 并发数据访问。 索引的使用(如果存在)。 是否可以执行多线程请求。 数据复制参数。 表引擎的使用 阅读全文
摘要:
1、整形 固定长度的整型,包括有符号整型或无符号整型。 整型范围(-2n-1~2n-1-1): Int8 - [-128 : 127] Int16 - [-32768 : 32767] Int32 - [-2147483648 : 2147483647] Int64 - [-922337203685 阅读全文