要将Parquet文件写入S3,需要httpfs
扩展。可以使用INSTALL
SQL命令进行安装。这只需要运行一次。
INSTALL httpfs;
要加载httpfs
扩展以供使用,请使用LOAD
SQL命令:
LOAD httpfs;
加载httpfs
扩展后,设置凭据以写入数据。请注意,region
参数应与您要访问的存储桶的区域匹配。
CREATE SECRET (
TYPE S3,
KEY_ID 'AKIAIOSFODNN7EXAMPLE',
SECRET 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY',
REGION 'us-east-1'
);
Tip If you get an IO Error (
Connection error for HTTP HEAD
), configure the endpoint explicitly viaENDPOINT 's3.⟨your-region⟩.amazonaws.com'
.
或者,使用 aws
扩展 来自动获取凭证:
CREATE SECRET (
TYPE S3,
PROVIDER CREDENTIAL_CHAIN
);
在设置好httpfs
扩展并正确配置S3凭据后,可以使用以下命令将Parquet文件写入S3:
COPY ⟨table_name⟩ TO 's3://bucket/file.parquet';
同样,Google Cloud Storage (GCS) 通过互操作性 API 得到支持。您需要创建 HMAC 密钥 并提供如下凭证:
CREATE SECRET (
TYPE GCS,
KEY_ID 'AKIAIOSFODNN7EXAMPLE',
SECRET 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY'
);
设置好GCS凭证后,您可以使用以下方式导出:
COPY ⟨table_name⟩ TO 'gs://gcs_bucket/file.parquet';