duckdb iceberg rest catalog连接的一个问题
duckdb 轻量高速的特点,以及周边丰富的生态是一个很不错的数据分析工具,icerberg 集成是数据湖周边的官方扩展插件
参考配置
核心是通过attach 配置catalog 服务 (类似如下)
CREATE PERSISTENT SECRET iceberg_secret (
TYPE iceberg,
TOKEN 'demo'
);
ATTACH 'warehouse' AS s3_catalog (
TYPE iceberg,
SECRET iceberg_secret,
ENDPOINT 'http://localhost:5001',
ACCESS_DELEGATION_MODE 'none' // 此处是核心
);
问题说明
核心是ACCESS_DELEGATION_MODE此参数,一些catalog 服务不会返回存储的认证信息,造成duckdb 查询了aws s3 的信息,ACCESS_DELEGATION_MODE 是一个很重要的参数,当然配置了ACCESS_DELEGATION_MODE 为none ,同时还需要配置s3 的认证信息,类似如下
CREATE OR REPLACE PERSISTENT SECRET secretv1 (
TYPE s3,
KEY_ID 'xxxx',
SECRET 'xxxx',
endpoint 'xxxx',
URL_STYLE 'path',
USE_SSL 'false',
REGION 'us-east-1'
);
说明
ACCESS_DELEGATION_MODE 参数还是比较重要的,尤其一些catalog 服务不返回存储信息的时候,没有这个参数服务总会去访问aws s3 服务
参考资料
https://duckdb.org/docs/lts/core_extensions/iceberg/iceberg_rest_catalogs
浙公网安备 33010602011771号