本文主要介绍如何入门clickhouse,以及将mariadb数据迁移过来,最后介绍当前几种的训练的示例数据库集。
1、中文教程:
中文教程:中文教程
有了教程,需要有数据可以训练,教程提供示例数据集,但是数据量都比较大,一般在1GB以上,下载以及导入就会比较麻烦。
2、训练语法:
介绍一个在线训练的数据库,show database就可以知道,里面包含了教程里大部分的示例数据库,省去创建数据库以及建表的麻烦事,快速入门操作select,group by 等基本语法:
clickhouse query:clickhouse在线训练数据库
3、导入数据:
完成数据库select等的基础语法训练后,开始进入实战,如果还没在本地建立clickhouse server的放在,请移步Clickhouse 使用DBeaver连接
1)下载数据集:
我找了一个【英国房地产支付价格】中的一个月的记录,只有几十MB,数据量不大但足够跑一遍流程。
数据集链接:英国房地产支付价格
2)创建表
CREATE TABLE uk_price_paid
(
price UInt32,
date Date,
postcode1 LowCardinality(String),
postcode2 LowCardinality(String),
type Enum8('terraced' = 1, 'semi-detached' = 2, 'detached' = 3, 'flat' = 4, 'other' = 0),
is_new UInt8,
duration Enum8('freehold' = 1, 'leasehold' = 2, 'unknown' = 0),
addr1 String,
addr2 String,
street LowCardinality(String),
locality LowCardinality(String),
town LowCardinality(String),
district LowCardinality(String),
county LowCardinality(String)
)
ENGINE = MergeTree
ORDER BY (postcode1, postcode2, addr1, addr2);
3)导入数据
数据库default,右击“导入数据”,选择“从csv文件导入”,选择第1步下载的数据集csv,
选择“目标端”,点击"configure",对应数据库表的字段,由于下载的csv文件,第一行没有字段名,需要手动新增一行写每列的字段,以方便这步的对应。
最后就是一路向西,完成csv数据导入。
4、迁移数据表
1)创建表
数据库default,右击“新建表”,输入表名,引擎,新增列,输入列名,选择数据类型,一步步操作后,就完成表创建。当然也可以用脚本创建表
CREATE TABLE `default`.NewTable (
Column1 String
) ENGINE = MergeTree;
2)数据迁移
右击新建的表NewTable,选择“导入数据”,选择“数据库表”,点击源端,在弹出的对话框,选择mariadb的数据库,最后选择对应的库表。最后选择对应的字段,就可以完成数据导入。