查看后台进程并杀死
– 这个命令和mysql是一样的
1 | show processlist |
– 如果进程太多,也可用通过查询系统表 processes,
1 | select * from system.processes |
– 指定主要关心字段
1 | select |
杀死后台进程
– 通过上面指令获取到进程相关信息后,可以用query_id条件kill进程
1 | KILL QUERY WHERE query_id='2-857d-4a57-9ee0-327da5d60a90' |
– 杀死default用户下的所有进程
1 | KILL QUERY WHERE user='default' |
clickhouse启动停止服务
1 | service clickhouse-server start |
Clickhouse删除表某一天分区
方法一:
1 | ALTER TABLE kuming.tableName DELETE WHERE toDate(insert_at_timestamp)='2020-07-21'; |
方法二:
1 | ALTER TABLE kuming.tableName DELETE WHERE insert_at_timestamp<=1596470399; |
方法三:(当前两种方法分区数据没有删除掉的时候可以用方法三)
1 | ALTER TABLE kuming.tableName DROP PARTITION '2020-08-03'; |
alter table 表名 drop partition 分区名
分区名可以用下语句查询
1 | select * from system.parts p where table = '表名' |
查看日志
可以在clickhouse结点上查看/var/log/clickhouse-server/clickhouse-server.log,注意ERROR级别日志
– 特别主要:
可以在clickhouse结点上查看/var/log/clickhouse-server/clickhouse-server.log,注意ERROR级别日志
/var/log/clickhouse-server/clickhouse-server.err.log
clickhouse 用户权限设置
https://www.jianshu.com/p/3e08a7150fb1
创建角色和普通用户
1 | CREATE ROLE accountant; |
合并分区
1 | optimize table xxoxx final; |
在客户端打印日志 --send_logs_level=trace
[atguigu@hadoop102 lib]$ clickhouse-client --send_logs_level=trace <<< 'select*from t_order_mt2 where total_amount > toDecimal32(900.,2)";
ReplacingMergeTree
通过测试得到结论
实际上是使用order by字段作为唯一键
去重不能跨分区
只有同—批插入(新版本)或合并分区时才会进行去重
认定重复的数据保留,版本字段值最大的
如果版本字段相同则按插入J顺序保留最后一笔
I
ClickHouse 分片双副本集群部署
参考 https://www.jianshu.com/p/5bcaad0a02b1
1 | -- 创建分布式数据库 |
clickhouse用presto查询
测试下来clickhouse用presto查询 效率低
卸载及删除安装文件
1 | yum list installed | grep clickhouse |
备份与恢复
https://github.com/AlexAkulov/clickhouse-backup
修改备份工具配置文件的端口和密码
cp /etc/clickhouse-backup/config.yml.example /etc/clickhouse-backup/config.yml
创建备份
• 查看可用命令
1 | $ clickhouse-backup help |
• 显示要备份的表
1 | $ clickhouse-backup tables |
• 创建备份
1 | $ sudo clickhouse-backup create |
• 查看现有的本地备份
1 | $ sudo clickhouse-backup list |
- 从备份还原
1 | clickhouse-backup restore 2022-01-28T06-13-35 |
– 恢复指定表
1 | clickhouse-backup restore 2022-01-28T06-13-35 --table dbtest.abcd |
Suggested Syntax
1 | CREATE DATABASE test ENGINE=MaterializeMySQL('127.0.0.1:3306', 'test', 'root', 'clickhouse') |
Detailed description / Documentation draft:
The EXPLAIN TABLE OVERRIDE
query can be used for pre-validating overrides. Example:
1 | EXPLAIN TABLE OVERRIDE mysql('127.0.0.1:3306', 'db', 'table', 'user', 'pw') |