导入和导出数据(s3Cluster)
更新时间:2024-12-06 11:03:07
PDF
ClickHouse 通过创建表函数 s3Cluster Table Function 语句,具有与外部系统集成的能力。
通过表函数 s3Cluster Table Function
语句,允许用户将数据从其他数据源导入/导出,包括 MySQL Server、ODBC/JDBC 连接、文件,以及 S3 等。
本小节主要介绍如何编写 S3 表函数,导入和导出数据。
前提条件
编写 S3 表函数
基本语法如下:
s3(path, [access_key_id, secret_access_key,] format, structure, [compression])
参数 | 说明 |
---|---|
path |
S3 协议的对象存储路径地址。 必须以 ‘/’ 结尾。 |
format |
数据格式。 |
structure |
表的结构。 输入格式为 |
compression |
(可选)文件压缩方式,默认且唯一可选 |
将 ClickHouse 数据导入 S3
基本语法示例如下。
$ echo "INSERT INTO FUNCTION s3(
'http://s3.gd2.qingstor.com/bucket-01/ck-cpu/cpu.csv',
'{access_key_id}',
'{secret_access_key}',
'CSV',
'表结构') SELECT * FROM cpu;" | curl 'http://<ClickHouse 用户名>:<ClickHouse 密码>@<高可用 IP>:8123/' --data-binary @-
从 S3 导入数据到 ClickHouse
基本语法示例如下。
$ echo "INSERT INTO ontime SELECT * FROM s3(
'http://s3.gd2.qingstor.com/bucket-01/ck-ontime/ontime.csv',
'{access_key_id}',
'{secret_access_key}',
'CSV',
'表结构');" | curl 'http://<ClickHouse 用户名>:<ClickHouse 密码>@<高可用 IP>:8123/' --data-binary @-