Clickhouse基础(一)

数据存储的目录,在存储数据时是先经过压缩后再存储的,压缩效率很高
在这里插入图片描述

操作命令:

sudo clickhouse start
sudo clickhouse restart
sudo clickhouse status

进入clickhouse
clickhouse-client -m
CREATE TABLE db_13.t_assist
(

    `modelId` UInt64,

    `taskId` UInt64,

    `testNo` String,

    `tdId` UInt64,

    `eventDay` String,

    `eventDaytime` UInt64,

    `eventBatch` UInt64,

    `eventId` UInt64,

    `imageIndex` String,

    `gcz_50` String,

    `ymz_50` String,

    `gcz_51` String,
    
	 ....

    `gcz_89` String,

    `ymz_89` String
)
ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/86ee6ab8-6acb-46e8-b80f-a1786df37850/{
   shard}',
 '{
   replica}')
PARTITION BY tdId
ORDER BY (modelId,tdId,eventBatch,eventDay,eventId)
SETTINGS index_granularity = 8192

1)表引擎类型

ReplicatedReplacingMergeTree

2)PARTITION BY tdId

表示按照tdId【通道id】进行分区存储

3)index_granularity = 8192

直接翻译的话就是索引粒度,指在稀疏索引中两个相邻索引对应数据的间隔。ClickHouse 中的 MergeTree 默认是 8192。官方不建议修改这个值,除非该列存在大量重复值,比如在一个分区中几万行才有一个不同数据

2、表引擎

ck中的表引擎类似于mysql中的表引擎

1.1 MergeTree

Clickhouse中最强大的表引擎当属MergeTree(合并树)引擎及该系列(*MergeTree)中的其他引擎,支持索引和分区,地位可以相当于innodb在Mysql。还基于MergeTree衍生很多其他有特色的引擎。

docker中安装的clickhouse,需要进入ck命令

# docker exec -it clickhouse /bin/bash
# /bin/clickhouse-client --password
 输入命令进入

查看default库下的表

2.1 建表关键字说明

1、建表语句:

CREATE TABLE default.t_order_mt
(
    `id` UInt32,
    `sku_id` String,
    `total_amount` Decimal(16,2),
    `create_time` DateTime
)
ENGINE = MergeTree
PARTITION BY toYYYYMMDD(create_time)
PRIMARY KEY id
ORDER BY (id,sku_id)
SETTINGS index_granularity = 8192

插入数据:

insert into t_order_mt values
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值