ClickHouse数据导入导出
本章节主要介绍使用ClickHouse客户端导入导出文件数据的基本语法和使用说明。
使用ClickHouse客户端导入导出数据
- CSV格式数据导入
clickhouse client --host 主机名/ClickHouse实例IP地址 --database 数据库名 --port 端口号 --secure --format_csv_delimiter="csv文件数据分隔符" --query="INSERT INTO 数据表名 FORMAT CSV" < csv文件所在主机路径
使用示例:clickhouse client --host 10.5.208.5 --database testdb --port 9440 --secure --format_csv_delimiter="," --query="INSERT INTO testdb.csv_table FORMAT CSV" < /opt/data
数据表需提前创建好。
- CSV格式数据导出
导出数据为CSV格式的文件,可能存在CSV注入的安全风险,请谨慎使用。
clickhouse client --host 主机名/ClickHouse实例IP地址 --database 数据库名 --port 端口号 -m --secure --query="SELECT * FROM 表名" > csv文件导出路径
使用示例:clickhouse client --host 10.5.208.5 --database testdb --port 9440 -m --secure --query="SELECT * FROM test_table" > /opt/test
- parquet格式数据导入
cat parquet格式文件 | clickhouse client --host 主机名/ClickHouse实例IP --database 数据库名 --port 端口号 -m --secure --query="INSERT INTO 表名 FORMAT Parquet"
使用示例:cat /opt/student.parquet | clickhouse client --host 10.5.208.5 --database testdb --port 9440 -m --secure --query="INSERT INTO parquet_tab001 FORMAT Parquet"
- parquet格式数据导出
clickhouse client --host 主机名/ClickHouse实例IP --database 数据库名 --port 端口号 -m --secure --query="select * from 表名 FORMAT Parquet" > parquet格式文件输出路径
使用示例:clickhouse client --host 10.5.208.5 --database testdb --port 9440 -m --secure --query="select * from test_table FORMAT Parquet" > /opt/student.parquet
- ORC格式数据导入
cat orc格式文件路径 | clickhouse client --host 主机名/ClickHouse实例IP --database 数据库名 --port 端口号 -m --secure --query="INSERT INTO 表名 FORMAT ORC"
使用示例:cat /opt/student.orc | clickhouse client --host 10.5.208.5 --database testdb --port 9440 -m --secure --query="INSERT INTO orc_tab001 FORMAT ORC" #orc格式文件格式文件数据可以从HDFS中导出,例如: hdfs dfs -cat /user/hive/warehouse/hivedb.db/emp_orc/000000_0_copy_1 | clickhouse client --host 10.5.208.5 --database testdb --port 9440 -m --secure --query="INSERT INTO orc_tab001 FORMAT ORC"
- ORC格式数据导出
clickhouse client --host 主机名/ClickHouse实例IP --database 数据库名 --port 端口 -m --secure --query="select * from 表名 FORMAT ORC" > 输出的ORC格式文件路径
使用示例:clickhouse client --host 10.5.208.5 --database testdb --port 9440 -m --secure --query="select * from csv_tab001 FORMAT ORC" > /opt/student.orc
- JSON格式数据导入
INSERT INTO 表名 FORMAT JSONEachRow JSON格式字符串1 JSON格式字符串2
使用示例:INSERT INTO test_table001 FORMAT JSONEachRow {"PageViews":5, "UserID":"4324182021466249494", "Duration":146,"Sign":-1} {"UserID":"4324182021466249494","PageViews":6,"Duration":185,"Sign":1}
- JSON格式数据导出
clickhouse client --host 主机名/ClickHouse实例IP --database 数据库名 --port 端口号 -m --secure --query="SELECT * FROM 表名 FORMAT JSON|JSONEachRow|JSONCompact|..." > json文件输出路径
使用示例#导出json clickhouse client --host 10.5.208.5 --database testdb --port 9440 -m --secure --query="SELECT * FROM test_table FORMAT JSON" > /opt/test.json #导出json(JSONEachRow) clickhouse client --host 10.5.208.5 --database testdb --port 9440 -m --secure --query="SELECT * FROM test_table FORMAT JSONEachRow" > /opt/test_jsoneachrow.json #导出json(JSONCompact) clickhouse client --host 10.5.208.5 --database testdb --port 9440 -m --secure --query="SELECT * FROM test_table FORMAT JSONCompact" > /opt/test_jsoncompact.json