当前位置:   article > 正文

ClickHouse的表操作

ClickHouse的表操作

1、背景

由于大数据平台需要对数据进行分析,因为ClickHouse是一个开源的列式数据库管理系统(DBMS),专为联机分析处理(OLAP)而设计。

官方地址:ClickHouse 开发 | ClickHouse Docs

2、集群中的操作

在操作集群中的表的时候,最好是采用[dbname].[tablename]方式执行命令。

  • 创建数据库
  1. CREATE DATABASE [IF NOT EXISTS] db_name
  2. [ON CLUSTER cluster]
  3. [ENGINE = db_engine(...)]
  4. [COMMENT 'Comment']
  5. 例:create database if not exists mydb on CLUSTER mycluster;
  6. 其他参数自行添加
  • 创建表
  1. CREATE TABLE mydb.mylog ON CLUSTER mycluster
  2. (
  3. `id` String COMMENT '标识id',
  4. `logdate` Date COMMENT '发生日期',
  5. `sid` String COMMENT '业务id',
  6. `create_time` DateTime('Asia/Shanghai') DEFAULT now() COMMENT '创建时间'
  7. ) ENGINE = ReplicatedMergeTree('/clickhouse/tables/{layer}-{shard}/mydb/mylog','{replica}')
  8. PARTITION BY toYYYYMM(logdate)
  9. PRIMARY KEY (id, logdate)
  10. ORDER BY (id, logdate) COMMENT '日志表';
  11. CREATE TABLE mydb.mylog_distributed ON CLUSTER mycluster
  12. AS mydb.mylog
  13. ENGINE = Distributed(mycluster, mydb, mylog, rand());
  • 删除表
  1. // 删除远程表
  2. DROP table IF EXISTS mydb.mylog_distributed ON CLUSTER mycluster;
  3. // 删除本地表
  4. DROP table IF EXISTS mydb.mylog ON CLUSTER mycluster;
  • 修改表名
  1. RENAME TABLE mydb.mylog_distributed TO mydb.mylog_distributed_new ON CLUSTER mycluster;
  2. RENAME TABLE mydb.mylog_ TO mydb.mylog_new ON CLUSTER mycluster;
  • 修改字段名
  1. // 修改
  2. ALTER TABLE mydb.mylog ON CLUSTER mycluster MODIFY COLUMN name String COMMENT '修改';
  3. // 删除
  4. ALTER TABLE mydb.mylog ON CLUSTER mycluster DROP COLUMN name;
  5. // 添加
  6. ALTER TABLE mydb.mylog ON CLUSTER mycluster ADD COLUMN test_id String COMMENT '新增ID';

提示:还有很多特性以及用法,请参考官方文档

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/301544
推荐阅读
相关标签
  

闽ICP备14008679号