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

posted on 2026-08-04 08:00  荣锋亮  阅读(2)  评论(0)    收藏  举报

导航