
clickhouse
文章平均质量分 57
Smile to everyday
这个作者很懒,什么都没留下…
展开
-
clickhouseMergeTree系列引擎之SummingMergeTree
SummingMergeTree引擎功能介绍根据排序见对数值类型的列进行汇总求和相同排序见的行合并为一行。如果一个排序键对应大量的行,则该引擎能显著减少存储空间并加快数据查询速度。建议该引擎于MergeTree引擎结合使用。完整的数据存储在MergeTree表中,使用SummingMergeTree存储聚合数据,可以防止排序键的组合不正确而丢失有价值的数据。指定表引擎ENGINE = SummingMergeTree([columns])参数: columns,具有列名称的元组,其中的值原创 2021-04-02 11:09:20 · 491 阅读 · 0 评论 -
clickhouse输入输出格式之CSV---分隔符换成别的,如何导入数据
将数据上传至服务器输入命令cat table.csv | clickhouse-client -m -h 172.29.88.93 -u default --password shuqinkeji --format_csv_delimiter="$" --query="insert into tssl.table FORMAT CSV"可以使用 --format_csv_delimiter 去指定使用的是什么分隔符。...原创 2021-04-01 18:13:44 · 3892 阅读 · 4 评论 -
clickhouse踩过的坑-----建表建库on cluster命令使用超时(code:159)distributed_ddl_task_timeout (=180) seconds
建库建表语句create database test on cluster clickhouse_cluster;报错信息↘ Progress: 0.00 rows, 0.00 B (0.00 rows/s., 0.00 B/s.) Received exception from server (version 20.1.4):Code: 159. DB::Exception: Received from localhost:9000. DB::Exception: Watching task /原创 2021-03-28 18:27:07 · 6862 阅读 · 0 评论 -
clickhouseMergeTree系列引擎之ReplacingMergeTree
ReplacingMergeTree的作用删除据有相同排序键值的重复项。数据去重是在合并期间进行的后台的合并操作在未知的时间出发,因此用户无法对合并进行计划。可使用OPTIMEZE语句运行计划外的合并,但OPTIMIZE是一个很重要的操作。ReplacingMergeTree适合清除后台的重复数据以节省空间。指定表引擎:ENGINE - ReplaceMergeTree[ver]参数:ver,版本列。版本列的类型为UInt*、Date或DateTime。可选参数。合并的时候,Repla原创 2021-03-24 11:22:22 · 1646 阅读 · 0 评论 -
clickhouse 数据标记的工作机制
数据存储bin文件是真正存储数据的文件bin文件的数据是按照排序建排序后存储的一个bin文件由N个压缩数据块组成。一个压缩数据块存储压缩前大小为64K~1M子节的数据。数据标记mkt文件是存储数据标记的文件。存储索引标记、压缩数据块在BIN文件的偏移量、解压缩数据块的偏移量。假设age字段,每个值占用1子节空间,在该列则一个索引粒度范围内占用8192*1子节 = 8192子节 = 8KB。每8(64KB/8KB=8) 个索引粒度,占用一个压缩数据块。压缩数据块的切分规则:一个压缩数原创 2021-03-24 10:25:06 · 535 阅读 · 0 评论 -
clickhouse 主键、索引的工作机制
MergeTree的稀疏索引数据按照主键排序后存储的每个索引记录对应8192条(由index——grandularity指定) 记录索引是常驻内存的。索引的生成过程索引由Primary Key指定。索引数据保存在primary.idx文件中。这里假设索引力度(index_grandularity)为3,即每3条数据生成一条索引记录。索引的查询前后相邻的两个索引的值,构成索引的范围根据主键的查询条件,确定索引范围。id in (‘A02’,‘A08’),转化为索引范围区间[A01原创 2021-03-24 09:57:01 · 1880 阅读 · 0 评论 -
clickhouse自定义分区及底层存储合并机制
自定义分区键分区是在建表时使用PARTITION BY expr 自居指定。分区键可以是表列中的任何表达式。例如,按月指定分区:PARTITION BY toYYYYMM(date_column).使用元组指定分区:PARTITION BY(toMondat(StartDate),EventType)在将新数据插入表中时,每个分区的数据存储为单独的数据片段(每个数据片段的数据是按逐渐排序的),在插入后的10~15分钟内,同一个分区的数据片段将合并为一个整体的数据片段。分区目录的命名规则原创 2021-03-19 18:25:46 · 2737 阅读 · 0 评论 -
MergeTree系列引擎概述与存储结构
MergeTree系列引擎介绍MergeTree系列引擎事clickhouse中最强大的表引擎数据按照片段被一批批写入表数据片段在后台按照一定规则进行合并。主要特性数据按照 主键排序,稀疏索引快速检索数据数据分区 增加查询性能数据副本 ReplicatedMergeTree系列的引擎支持数据副本,替身查询性能和容错数据采样 设置采样方法,快速分析数据建表模板CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster原创 2021-03-18 18:30:15 · 295 阅读 · 0 评论 -
clickhouse输入输出格式之不常用数据格式
1. Native数据以二进制数据块的方式进行读写。数据的导出:clickhouse-client --query=“SELECT * FROM tsv_demo FORMAT Native” > a.native数据的导入:clickhouse-client --query=“insert into tsv_demo FORMAT Native” < a.native2. Null主要用于测试性能。 查询会被处理,并且数据会被传送到客户端,但是什么也不输出。Null格式只能用于原创 2021-03-18 16:36:25 · 464 阅读 · 0 评论 -
clickhouse输入输出格式之ORC
ORC数据的输入输出仅支持ORC格式的写入。ORC和CH数据类型的匹配关系ORC data type (INSERT)ClickHouse data typeUINT8, BOOLUInt8INT8Int8UINT16UInt16INT16Int16UINT32UInt32INT32Int32UINT64UInt64INT64Int64FLOAT, HALF_FLOATFloat32DOUBLEFloat64原创 2021-03-18 16:34:35 · 636 阅读 · 0 评论 -
clickhouse输入输出格式之Parquet
Parquet输入输出格式支持Parquet格式的导出和导入。Parquet和ClickHouse类型的匹配关系Parquet data type (INSERT)ClickHouse data typeParquet data type (SELECT)UINT8,BOOLUInt8UINT8INT8Int8INT8UINT16UInt16UINT16INT16Int16INT16UINT32UInt32UINT32INT32原创 2021-03-18 16:14:14 · 1044 阅读 · 0 评论 -
clickhouse输入输出格式之JSON系列【JSON、JSONCompact和JSONEachRow】
JSONJSON格式的输入输出JSON格式只支持数据的输出,不支持数据的解析(数据导入)。案例演示建表插数据create table t_json_demo(id UInt8, prov String) ENGINE=TinyLog;insert into t_json_demo values(1, 'jiangsu'),(1, 'jiangsu'),(2, 'anhui'),(2, 'anihu'),(3, 'beijing');查询演示以JSON格式查询select id,c原创 2021-03-18 15:52:35 · 6093 阅读 · 1 评论 -
clickhouse输入输出格式之CSV系列【CSV、CSVWithNames】
CSVCSV默认的分隔符为逗号,format_csv_delimiter设置自定义的分隔符。CSV中的双引号使用两个双引号转义。支持数据的查询和数据导入的。案例演示clickhouse中建表create table csv_demo(create_date Date, update_time DateTime, desc String) ENGINE=TinyLog;数据导入数据准备# 创建csv_demo.csv文件vim csv_demo.csv# 填入以下数据2014-0原创 2021-03-17 18:06:21 · 3099 阅读 · 0 评论 -
clickhouse输入输出格式之TSKV格式
TSKV需要了解的点TSKV格式不适合有大量小列的输出.(因为每一行都是需要输出key,value,会比较浪费)TSKV的效率并不比JSONEachRow差.TSKV支持数据查询和数据导入。不需要保证列的顺序。支持忽略某些值,这些列使用默认值,例如0和空白行。复杂类型的值必须指定,无法使用默认值。数据的查询数据的产生https://blog.youkuaiyun.com/lyq7269/article/details/114937643?spm=1001.2014.3001.5501数据的查询s原创 2021-03-17 17:50:11 · 203 阅读 · 0 评论 -
clickhouse输入输出格式之TabSeparated系列【TabSeparated、TabSeparatedRaw、TabSeparatedWithNames和TabSeparatedWith】
TabSeparated(默认格式,简写:TSV)数据的导入导出数据按行写入,tab制表符分隔。使用严格Unix命令行。注意注意:最后一行必须包含换行符。格式的适用范围数据插入和数据查询时,均可使用。案例演示进入clickhouse 创建数据库创建数据表clickhouse-client -m#进入clickhouse创建数据库create database if not exists test;#创建所需表use test;CREATE TABLE tsv_demo(srcip原创 2021-03-17 17:31:39 · 5208 阅读 · 0 评论 -
clickhouse单机安装【安装文件百度云盘提供,无需官网下载,也不收费】
安装文件及官方演示数据下载安装文件下载链接:https://pan.baidu.com/s/1n0myvXxfBQVUwJm9qnJ9gA 提取码:y9q4官方演示数据下载链接:https://pan.baidu.com/s/1Gk7Vf68yMvwvJFwW2ie-VQ 提取码:osm5安装及卸载操作安装方式一:rpm命令安装rpm -ivh *.rpm方式二:yum命令安装yum install *.rpm两者区别yum在安装过程中如果有没有安装的依赖,会自动安装上去原创 2021-03-11 15:22:03 · 884 阅读 · 0 评论 -
clickhouse集群搭建【三节点为例】
下载clickhouse的rpm包首先创建RPM包所在位置mkdir -p /opt/software/clickhouse/cd /opt/software/clickhouse/下载地址clickhouse安装包下载链接按照顺序安装rpm -ivh clickhouse-server-common-19.3.6-1.el7.x86_64.rpmrpm -ivh clickhouse-common-static-19.3.6-1.el7.x86_64.rpmrpm -ivh click原创 2020-11-19 13:52:05 · 3050 阅读 · 2 评论