clickhouse简单使用+函数整理

本文围绕ClickHouse展开,介绍了其DDL操作,如按集群操作需借助zookeeper,还提及表的创建、列的修改等;阐述了delete/update操作限制,分区表的分区方式及操作;讲解了数据同步方法,包括remote函数、文件导入等;还涉及时间戳转换及函数汇总分类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、DDL
如果想按集群操作,需要借助zookeeper,在config.xml中添加配置
<distributed_ddl>
/clickhouse/task_queue/ddl
</distributed_ddl>
一个节点创建表,会同步到各个节点
CREATE TABLE db.table [ON CLUSTER cluster] (…)
添加、删除、修改列
ALTER TABLE [db].table [ON CLUSTER cluster] ADD|DROP|MODIFY COLUMN …
rename 支持*MergeTree和Distributed
rename table db.table1 to db.table2 [ON CLUSTER cluster]
truncate table db.table;不支持Distributed引擎

二、delete/update 不支持Distributed引擎
ALTER TABLE [db.]table DELETE WHERE filter_expr…
ALTER TABLE [db.]table UPDATE column1 = expr1 [, …] WHERE …

三、分区表
按时间分区:
toYYYYMM(EventDate):按月分区
toMonday(EventDate):按周分区
toDate(EventDate):按天分区
按指定列分区:
PARTITION BY cloumn_name
对分区的操作:
alter table test1 DROP PARTITION [partition] #删除分区
alter table test1 DETACH PARTITION [partition]#下线分区
alter table test1 ATTACH PARTITION [partition]#恢复分区
alter table .test1 FREEZE PARTITION [partition]#备份分区

四、数据同步

  1. 采用remote函数
    insert into db.table select * from remote(‘目标IP’,db.table,‘user’,‘passwd’)
  2. csv文件导入clickhouse
    cat test.csv | clickhouse-client -u user --password password --query=“INSERT INTO db.table FORMAT CSV”
  3. 同步mysql库中表
    CREATE TABLE tmp ENGINE = MergeTree ORDER BY id AS SELECT * FROM mysql(‘hostip:3306’, ‘db’, ‘table’, ‘user’, ‘passwd’) ;
    4) clickhouse-copier 工具

五、时间戳转换
select toUnixTimestamp(‘2018-11-25 00:00:02’) --DateTime转化为时间戳
注意:可以指定时区,例如:select toUnixTimestamp(‘2018-11-25 00:00:02’,‘Asia/Shanghai’)
select toDateTime(1543075202) --时间戳转化为DateTime
select toDateTime(‘2018-04-30 00:00:00’) --转化为DateTime的标准格式
结果:2018-04-30T00:00:00+00:00

六、函数汇总分类
1、日期类函数
2、类型转化类函数
3、字符串操作
4、条件语句
5、数学函数
6、舍入函数
7、URL操作函数
8、IP操作函数
9、表操作
10、字典操作
具体参考:https://blog.youkuaiyun.com/u012111465/article/details/85250030

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值