clickhouse PARTITION操作
关注微信公共号:小程在线
关注CSDN博客:程志伟的博客
ClickHouse server version 21.6.6
创建分区表
示例一:函数式分区
dblab-VirtualBox :) create table visits(userid int,visitdate date,website String) engine=MergeTree() PARTITION BY toYYYYMM(visitdate) order by userid;
CREATE TABLE visits
(
`userid` int,
`visitdate` date,
`website` String
)
ENGINE = MergeTree
PARTITION BY toYYYYMM(visitdate)
ORDER BY userid
Query id: 96c69dce-dcdf-4a19-8faf-ffdbff0fe8ac
Ok.
0 rows in set. Elapsed: 0.111 sec.
示例二:字段直接分区
dblab-VirtualBox :) create table test.user_action_log ( `event_time` DateTime, `user_id` String, `user_name` String, `school_id` String, `school_name` String, `stay_time` Float64, `create_time` DateTime, `student_id` String, `grade` String, `date_key` String ) ENGINE = MergeTree() PARTITION BY (date_key) ORDER BY (user_id,student_id,school_id) PRIMARY KEY (user_id) SETTINGS index_granularity = 8192;
CREATE TABLE test.user_action_log
(
`event_time` DateTime,
`user_id` String,
`user_name` String,
`school_id` String,
`school_name` String,
`stay_time` Float64,
`create_time` DateTime,
`student_id` String,
`grade` String,
`date_key` String
)
ENGINE = MergeTree
PARTITION BY date_key
PRIMARY KEY user_id
ORDER BY (user_id, student_id, school_id)
SETTINGS index_granularity = 8192
Query id: 41fa5885-328c-4c64-bf21-42c87d353766
Ok.
0 rows in set. Elapsed: 0.008 sec.
注:在创建表时一定要指定排序键,这一点非常重要,在批量插入数据时也可以对数据提前进行排序
表插入数据
insert into visits(userid,website,visitdate) values(100,'www.baidu.com','2020-06-01'),(100,'www.google.com','2020-07-02'),(100,'www.toutiao.com','2020-08-03');
select * from visits where visitdate='2020-07-02';
clickhouse想对于hive没有show partitions xxx来展示分区的操作我们可以通过查询数据库中的system.parts表来查看想要的信息。
dblab-VirtualBox :) select database,table,partition,partition_id,name ,path from system.parts where table='visits';
SELECT
database,
table,
partition,
partition_id,
name,
path
FROM system.parts
WHERE table = 'visits'
删除分区:
alter table visits drop partition 202007 ;
重置分区:
alter table visits CLEAR column website in partition 202007;
卸载和装载分区|数据块:
alter table visits DETACH partition 202007; --将分区数据移动到 detached ,并且忘记它
alter table visits ATTACH partition 202007; --将detached 目录中的分区重新添加到表中.
clickhouse PARTITION操作相关推荐
- ClickHouse函数操作大全
官址学习文档:https://clickhouse.yandex/docs/zh/ 零.检测函数类型(clickhouse中数据的类型) SELECT toTypeName(0);-- UInt8(三 ...
- ClickHouse 更新操作
clickhouse 更多应用在 查询select 和写入insert 上. 提供部分更新操作,但相比其他各大数据库的更新操作来说,效果已经很好了,下面来详细介绍一下 更新这一块. 更新: 1. ...
- 【clickhouse】clickhouse 原生监控
文章目录 1.概述 1.硬件资源的使用: 2. clickhouse 服务的监控: 2.1系统表: 2.1.1. metrics: 2.1.2.events: 2.1.3.asynchronous_m ...
- ClickHouse基础知识及与MySQL性能对比
文章目录 ClickHouse介绍 如何理解OLTP和OLAP 如何理解行式存储和列式存储 ClickHouse应用场景 ClickHouse引擎 Log系列引擎 MergeTree系列表引擎 Col ...
- ClickHouse 创建数据库/建表/视图/字典 SQL
1.1. ClickHouse SQL之数据定义语言 DDL 本节介绍 ClickHouse 中进行数据库.表结构的定义和管理. 1.1.1. 概述 在SQL中,数据定义语言( DDL ) 用来创建 ...
- ClickHouse 备份与恢复
我们评估一款数据库产品,除了稳定性和易用性外,数据安全也十分重要,备份与恢复往往是最后一道安全门. 但如果备份策略不完善.恢复手段无效,一旦发生数据误删除就真的抢救无效-扑街了. 目前Clickhou ...
- clickhouse分区操作实践
目录 1 分区表 2 创建分区表 2.1不指定分区 2.2 使用函数创建分区 2.3 使用现有字段直接分区 3 分区操作 3.1 删除分区 3.1.1 删除前分区信息如下 3.1.2 删除前磁盘数据目 ...
- ClickHouse 数据删除更新
ClickHouse删除/更新数据(UPDATE/DELETE/DROP)与普通的sql语法有点不一样,故记录一下. 一.删除表 DROP table db.视图表 ON CLUSTER cluste ...
- zabbix db partition
在做zabbix的性能优化时,有时候在db的数据量比较大的时候,需要对表进行partition操作,这样可以在数据查询减少用时.并且由于使用了partition,我们可以自己实现历史数据的删除操作,这 ...
最新文章
- HDU - 6082 度度熊与邪恶大魔王(背包变式)
- MYSQL主从同步故障一例及解决过程
- 蓝桥杯 迷宫与陷阱 BFS
- 【Java】函数式编程思想-Lambda表达式
- 欧框语言框架标准C2,CEFR欧洲语言共同参考框架
- Django复习:模型与管理网站
- session对象的使用
- 问题处理:VMware Workstation和Device / Credential Guard不兼容
- c#中对xml文件的基本操作
- 论文查重报告橙色和红色是什么意思?
- GPS 入门 7 —— GPS定位、LSB基站定位、wifi定位区别
- 社区中无法创建帖子chatter
- 洛谷(P3373)线段树加乘混合模板
- resultful接口开发
- 超时空智慧办公白皮书(2023)
- mysql插入成功返回主键_MyBatis + MySQL返回插入成功后的主键id
- Ubuntu 1804 升级内核
- Leetcode 组合总和II
- 使用GNURadio和RTL-SDR搭建FM广播接收机
- 数据中心蓄冷时间的确定-孙长青
热门文章
- Zabbix以trapper方式监控MySQL备份文件
- 【白话理解神经网络中的“损失函数”——最小二乘法和极大似然估计法】
- 计算机如何回到桌面,电脑系统教程:win10怎么返回到桌面状态
- 通过OpenCv的HoughCircles函数获取图片中的圆形
- gcc for arm 工具链使用(一)
- java编程基础笔记_Java编程基础阶段笔记 day01 Java语言概述
- 中文真伟大!竟然有只能看,不能读的文章
- python一键批量制作word邀请函
- linux 命令:which详解
- 解决每次新建word都有页眉和页脚