1、clickhouse-client导入导出方式
前言:如果您使用的是远程 ClickHouse 服务器,请确保在命令中添加正确的服务器地址和端口号,并且已经授权了相应的访问权限。
其中,-u 表示用户名,-p 表示密码,-h 表示 ClickHouse 服务器的主机名或 IP 地址,-d 表示要使用的数据库,–query 表示要执行的查询语句
1.1、导入数据
1.1.1、测试数据
vim /home/dwshaohouye1/data.txt
1|张三|2023-04-10
2|李四|2023-04-10
3|王五|2023-04-10
1.1.2、创建本地表
drop table tmp.my_table;
CREATE TABLE tmp.my_table (
id Int64,
name String,
dt Date
) ENGINE = MergeTree
ORDER BY id;
1.1.3、如果列数多于表字段数,可以选择print列数,导入
cat /home/dwshaohouye1/data.txt | awk -F ‘|’ ‘BEGIN{OFS=“\t”}{print $1, $2, $3}’| clickhouse-client -m -h 10.1.99.190 --port 9000 -u olap --password Xfzh@123 --query=“INSERT INTO tmp.my_table FORMAT TSV”
1.1.4、选择所有列数,导入
cat /home/dwshaohouye1/data.txt | awk -F ‘|’ ‘BEGIN{OFS=“\t”}{$1=$1}1’ | clickhouse-client -m -h 10.1.99.190 --port 9000 -u olap --password Xfzh@123 --query=“INSERT INTO tmp.my_table FORMAT TSV”
select * from tmp.my_table t limit 20;
┌─id─┬─name─┬─────────dt─┐
│ 1 │ 张三 │ 2023-04-10 │
│ 2 │ 李四 │ 2023-04-10 │
│ 3 │ 王五 │ 2023-04-10 │
└────┴──────┴────────────┘
┌─id─┬─name─┬─────────dt─┐
│ 1 │ 张三 │ 2023-04-10 │
│ 2 │ 李四 │ 2023-04-10 │
│ 3 │ 王五 │ 2023-04-10 │
└────┴──────┴────────────┘
6 rows in set. Elapsed: 0.003 sec.
1.2、导出数据
1.2.1、查询语句直接导出
clickhouse-client -m -h 10.1.99.190 --port 9000 -u olap --password Xfzh@123 --query=" SELECT * FROM tmp.my_table;" | tr “\t” “|” > data1.txt
cat data1.txt
1|张三|2023-04-10
2|李四|2023-04-10
3|王五|2023-04-10
1|张三|2023-04-10
2|李四|2023-04-10
3|王五|2023-04-10
1.2.2、CSV 格式导出
clickhouse-client -m -h 10.1.99.190 --port 9000 -u olap --password Xfzh@123 --query “SELEC