一 clickhouse 客户端的访问接口
clickhouse 的底层访问接口支持TCP和HTTP两种协议,其中,TCP协议拥有更好的性能,其默认端口为9000,主要用于集群见的内部通信及CLI客户端;而http协议则拥有更好的兼容性。通常不建议用户直接使用底层接口访问clickhouse,更为推荐的方式是通过cli 和jdbc这些封装接口,因为他们更为简单易用。
1.1 命令行客户端
clickhouse-client
常用下面2组参数,1是-m在ClickHouse服务所在的机器,进入命令行交互模式
clickhouse-client -m --password '密码'
2是-q执行任务,配合-n允许多个SQL(用;分隔)
clickhouse-client -n -h '主机' --port 9000 -u '用户' --password '密码' -d '库' -q "SHOW TABLES;"
1.1.1 使用案例
导入数据
cat data.csv |
clickhouse-client --host 127.0.0.1 --port 9000 --database test_db --user default \--password='123456' --query="INSERT INTO asd FORMAT CSV" --format_csv_delimiter="|";
导出数据
clickhouse-client --host 127.0.0.1 --port 9000 --database test_db --user default \--password='123456' --query="select * from asd limit 100" --format CSV --format_csv_delimiter="|"
执行sql文件
clickhouse-client --host 127.0.0.1 --port 9000 --database test_db --user default \--password='123456' --multiquery < multi.sql
更多说明
- 可以指定\G来替代分号或者在分号后面。每个字段的值会打印在不同的行中,数据列很多时比较友好。
- –format就是输入输出格式,常用的就是CSV,所有的格式见