Clickhouse最佳实战之图形化界面Tabix实战及命令行客户端实战
官方网站:https://clickhouse.tech/docs/en/introduction/distinctive_features/
一、图形化界面操作CK
Clickhouse官方暂时没有图形化界面,这样使得操作相当得不方便,如果使用SSH + Terminal连接Linux服务器进行操作,SQL指令和返回的表结果(行数较多)都无法在Terminal上完美显示。这里官网也提到了几个第三方的图形化界面,尝试了其中比较好用效果不错的一个Tabix
Tabix:
官网:https://tabix.io/
Tabix是一个三方的开源Clickhouse图形化界面。完全免费而且不需要安装,可以直接从浏览器打开
Tabix远程连接ClickHouse
第一步:开放ClicHouse远程服务
service clickhouse-server stop
vi /etc/clickhouse-server/config.xml +70
第二步:Clickhouse服务器默认运行的http端口是8123
service clickhouse-server start
第三步:web访问Tabix,连接访问ClickHouse
http://ui.tabix.io/#!/login
查询CK表数据:
后转到Tabix UI界面, 输入名字, 主机端口号还有登录名密码(如果是Default的话密码基本为空,不用填写)
第四步:通过Tabix实践ClickHouse查询
1:通过Tabix创建表
SQL:
CREATE TABLE code_province2(
state_province String,
province_name String,
create_date date
) ENGINE = MergeTree(create_date,(state_province),8192)
解析:创建CK的表需要指定表引擎
ENGINE:是表的引擎类型,最常用的MergeTree。还有一个Log引擎也是比较常用。
MergeTree要求有一个日期字段,还有主键。Log没有这个限制。
create_date:是表的日期字段,一个表必须要有一个日期字段。
State_province:是表的主键,主键可以有多个字段,每个字段用逗号分隔
8192:是索引粒度,用默认值8192即可。
2:通过命令行插入csv数据
准备数据:
cat > code_province.csv << EOF
WA,WA_NAME,2020-04-21
CA,CA_NAME,2020-04-21
OR,OR_NAME,2020-04-21
OR2,OR2_NAME,2020-04-21
OR3,OR3_NAME,2020-04-21
OR4,OR4_NAME,2020-04-21
EOF
插入数据到CK表:
clickhouse-client --query="insert into code_province2 format CSV" < code_province.csv
或者
cat code_province.csv | clickhouse-client --query="insert into code_province2 format CSV"
3:通过Tabix web查询数据
二、命令行操作CK
clickhouse-client -m 创建表
导入包含回车符,转义符的数据
cat test.csv | clickhouse-client --query="insert into default.test3 format CSV";
以批处理方式运行查询:
clickhouse-client --query='SELECT 1';
echo 'SELECT 1' | clickhouse-client