跳到主要内容

S3 Iceberg 导入

前置条件

从 S3 加载 Iceberg 文件需要同时使用 httpfsiceberg 扩展。请使用 INSTALL SQL 命令安装,安装仅需一次。

INSTALL httpfs;
INSTALL iceberg;

要加载扩展,请使用 LOAD 命令:

LOAD httpfs;
LOAD iceberg;

凭据

加载扩展后,请配置读取数据所需凭据与 S3 region。你可以使用 access key + secret,或 token。

CREATE SECRET (
TYPE s3,
KEY_ID '⟨AKIAIOSFODNN7EXAMPLE⟩',
SECRET '⟨wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY⟩',
REGION '⟨us-east-1⟩'
);

或者可使用 aws 扩展 自动获取凭据:

CREATE SECRET (
TYPE s3,
PROVIDER credential_chain
);

从 S3 加载 Iceberg 表

扩展就绪且 S3 凭据配置正确后,可通过以下命令从 S3 读取 Iceberg 表:

SELECT *
FROM iceberg_scan('s3://⟨bucket⟩/⟨iceberg_table_folder⟩/metadata/⟨id⟩.metadata.json');

注意你需要直接指向 manifest 文件,否则会出现如下错误:

IO Error:
Cannot open file "s3://bucket/iceberg_table_folder/metadata/version-hint.text": No such file or directory