ClickHouse提供了clickhouse-client客户端可用于数据的快速导入导出
官方文档: Inserting Data from a File
JSONL 格式
导出
clickhouse-client -h 127.0.0.1 --port 9000 -u default --password XXX -d default \
--query "SELECT * from default.doc_type2" --format JSONEachRow > doc_type2.jsonl
导入
clickhouse-client -h 127.0.0.1 --port 9000 -u default --password XXX -d default \
--query "INSERT INTO default.doc_type2 FORMAT JSONEachRow" < doc_type2.jsonl
Native 格式
导出
clickhouse-client -h 127.0.0.1 --port 9000 -u default --password XXX -d default \
--query "SELECT * from default.doc_type2" --format Native > doc_type2.jsonl
导入
clickhouse-client -h 127.0.0.1 --port 9000 -u default --password XXX -d default \
--query "INSERT INTO default.doc_type2 FORMAT Native" < doc_type2.jsonl
对文件夹下的所有文件导入
有时需要导入别人给的几百个文件,可以选择使用xargs批量导入
find /home/zlh/xxx_t2/ -type f -print0 | xargs -0 -I {} bash -c 'cat {} | clickhouse-client -h 127.0.0.1 --port 9000 -u default --password XXX -d default --query="INSERT INTO default.doc_type2 FORMAT JSONEachRow"'