clickhouse导入和导出
一、连接clickhouse
--客户端连接default库
clickhouse-client -h localhost --port 9001 -u default --password 123456 -m;
--客户端连接
clickhouse-client -h localhost --port 9001 -u default --password 123456 --database "test" -m;
二、clickhouse数据导入导出的N种方式
(1)、sql文件形式的导入导出
SQL导出: echo 'select * from table_name' | curl 127.0.0.1:8123?database=database_name -uuser:password -d @-> tableName.sql
SQL导入:cat tableName.sql | clickhouse-client -h 127.0.0.1 -u user --password password --query="INSERT INTO db_name.table_name FORMAT TabSeparated"
(2)、CSV文件形式的导入导出
CSV导出:clickhouse-client -h 127.0.0.1 --datahase="database_name" -u user --password password -m -n --format_csv_delimiter="," --query="select * from db_name.table_name FORMAT CSV" > tahle_name csv
CSV导入:clickhouse-client -h 127.0.0.1 --database="database_name" -u user --password password -m -n --format_csv_delimiter="," --query="insert into db_name.table_name FORMAT CSV" < table_name.csv
注意:如果query语句后面不加FORMAT CSV,默认是\t作为分隔符。只有指定FORMAT CSV后,指定--format_csv_delimiter才生效。
clickhouse-client的常用参数
-C --config-file 配置文件目录
-c --config 配置文件目录
-h --host 服务器ip地址
--port 指定端口
-u --user 指定用户名
--password 指定密码
--ask-password 询问密码
-q --query 指定SQL
-d --database 指定数据库
-m --multiline 多行组合成一个sql执行。
-n --multiquery 一次执行多个SQL,SQL之间使用’;'分号隔离
--queries-file 指定SQL文件(file1 file2)
-f --format 输出格式
-t --time 在非交互式格式中将执行时间打印到错误日志中。
--format_csv_delimiter 指定CSV数据中的列分隔符。 默认情况下分隔符为逗号(,)。
--input_format_allow_errors_num, 设置从文本格式(CSV、TSV等)读取时可接受的最大错误数。默认值为0。如果在读取行时发生错误,但错误数仍然小于input_format_allow_errors_num时,则ck将忽略该行并转到下一行。
--input_format_allow_errors_ratio,设置从文本格式(CSV、TSV等)读取时允许的最大错误百分比。错误百分比设置为介于0和1之间的浮点数。默认值为0。
例如:指定允许错误条数为10000,错误比率为0.1
clickhouse-client --host 127.0.0.1 --port 9000 --database default --user default --query="INSERT INTO tb_a FORMAT CSV " --format_csv_delimiter="|" --input_format_allow_errors_num=10000 --input_format_allow_errors_ratio=0.1 < data.csv
本文来自博客园,作者:业余砖家,转载请注明原文链接:https://www.cnblogs.com/yeyuzhuanjia/p/16519772.html