clickhouse-sql 记录常用操作
- sql 相关 主要记录 mysql 导入 clickhouse 过程
其他数据库应该也适用 - 用途
主要使用 clickhouse 聚合计算 特别快
上千万数据 几秒就能进行聚合
常用验证命令
1.查看clichouse版本
SELECT version
2.创建仓库
create database IF NOT EXISTS 仓库名
3.删除表
drop table 仓库名.表名
4.删除表数据(判断条件必填)
ALTER TABLE 仓库名.表名 DELETE WHERE 1=1
5.查看表条数(验证导入是否成功)
select count(1) from 仓库名.表名
6. 查看表情况
SELECT
table AS `表名`,
sum(rows) AS `总行数`,
formatReadableSize(sum(data_uncompressed_bytes)) AS `原始大小`,
formatReadableSize(sum(data_compressed_bytes)) AS `压缩大小`,
round((sum(data_compressed_bytes) / sum(data_uncompressed_bytes)) * 100, 0) AS `压缩率`
FROM system.parts
WHERE table IN ('表1','表2',.....)
GROUP BY table
mysql 表导入 clikhouse(主要用 clickhouse MySQL 引擎 也可以用别的采集工具)
主要使用 mysql 引擎(注意大小写)
采用^20.xx.xxx 版本 低版本可能不适合(没试过其他版本)
- 1.映射仓库 (不推荐/没试过)
create database IF NOT EXISTS 仓库名 engine=MySQL('localhost:3306', 'db', 'root', 'password')
- 2.映射表 (个人感觉适用于数据量少的数据 10 万左右/不推荐)
CREATE TABLE 仓库名.表名('字段','字段',....) mysql('localhost:3306','db','表名','root','password')
-3.数据导入
思路 1.创建表 -2.清空数据-3.写入数据-4.采集结果-5.获取结果-6.清空数据-7.写人数据-.........
!!!! * 替换为相关字段 获取更快
定时执行 sql 语句
1.创建表(第一次执行)
CREATE TABLE 仓库名.表名 ENGINE = MergeTree ORDER BY 主键名(好像不能用mysq主键) AS SELECT * FROM mysql('localhost:3306','db','表名','root','password')
2.清空表(定时)
ALTER TABLE 仓库名.表名 DELETE WHERE 1=1
3.写入数据(定时)
INSERT INTO TABLE 仓库名.表名 SELECT * FROM mysql('localhost:3306','db','表名','root','password')
3.1.查看采入数据
select count(1) from 仓库名.表名
5.使用sql语句程序内执行
网友评论