安装与配置
关于Clickhouse的安装与配置我们在官网,谷歌或者百度上面都可以找到不少教程,这里就不再赘述。下面放官方链接提供参考。
ClickHouse Quick Start
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SNwMjMxIGO1IGZwQWZ2QjNzYzXyUTN0kDM0AzLcFTMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
安装指南
在完成安装之后只需要在Terminal中键入命令:
clickhouse-client
或者
clickhouse-client -m (多行模式)
关于服务器的配置同样可以参考官方教程
服务器配置
看不太懂英文的话请善用谷歌/百度/有道翻译。
本人倒是直接使用了默认的配置基本也能在本地完美运行。如果想要设置集群或者是远程访问的话就需要修改一些配置,这些我下面会提到。
使用方法
Clickhouse的语法基本和SQL类似,不过它自己又增加了一些新的特性。比如生成表的时候要定义使用的引擎,有MergeTree, Merge, Log之类的不同的表引擎,它们决定了数据的存储方式,以及索引之类的内容,主要目的是能够支持最快的查询。
Clichouse表引擎(官方)
Clickhouse表引擎(中文)
Clickhouse比较不方便的一点是不支持Update,delete操作,毕竟一切为了速度。插入和查询的效率都相当之高,还能够支持直接导入导出CSV文件。
cat path_to_your_csv/XXX.csv | clickhouse-client --query="Insert into XXX FORMAT CSV";
图形化界面
Clickhouse官方暂时没有图形化界面,这样使得操作相当得不方便,如果使用SSH + Terminal连接Linux服务器进行操作,SQL指令和返回的表结果(行数较多)都无法在Terminal上完美显示。这里官网也提到了几个第三方的图形化界面。我尝试了其中的Tabix,效果还算不错。
Tabix是一个三方的开源Clickhouse图形化界面。完全免费而且不需要安装,可以直接从浏览器打开。
Tabix官网
Tabix UI
只需要连接clickhouse服务器就能直接在浏览器上操作Clickhouse,非常方便。
考虑一般情况下Clickhouse服务器安装在Linux服务器。这里介绍如何远程连接Clickhouse。
有一篇俄文的博客简洁明了地介绍了Tabix连接远程Clickhouse服务器的方法。
Tabix- Clickhouse的界面
首先我们需要对服务器进行配置,以便它接受外部连接。
1. 关闭Clickhouse server的服务
sudo service clickhouse-server stop
2. 使用文本编辑器打开配置文件 /etc/clickhouse-server/config.xml(这里使用vi)
sudo vi /etc/clickhouse-server/config.xml
3. 只留下listen_port标签中的
<listen_host>::</listen_host>
4. 保存并退出
5. Linux服务器开放端口8123
Clickhouse服务器默认运行在端口8123,我们需要在防火墙中允许开放端口8123
sudo ufw allow 8123
6.重启Clickhouse server服务
sudo service clickhouse-server start
最后转到Tabix UI界面, 输入名字, 主机端口号还有登录名密码(如果是Default的话密码基本为空,不用填写)。
结束
参考资料
- Clickhouse官方文档
- Clickhouse官方教程
- Clickhouse专业中文社区
- Clickhouse官方Github
- Tabix官方网站Tabix官方Github