Iceberg 문제 해결

Iceberg 문제 해결 (Troubleshooting)

Iceberg 익스텐션을 쓰다 보면 REST 카탈로그 연결이나 자격 증명 관련 오류가 나올 때가 있어요. 여기서는 자주 마주치는 두 가지 문제와 해결 방법을 소개할게요.

출처: 문서

본문

Curl 요청 실패 (Curl Request Fails)

문제 (Problem)

Iceberg REST Catalog 엔드포인트에 attach 하려 할 때, DuckDB가 다음과 같은 오류를 반환해요:

IO Error:
Curl Request to '/v1/oauth/tokens' failed with error: 'URL using bad/illegal format or missing URL'

해결 방법 (Solution)

최신 Iceberg 익스텐션이 설치되어 있는지 확인해요:

duckdb
FORCE INSTALL iceberg FROM core_nightly;

DuckDB를 종료하고 새 세션을 시작해요:

duckdb
LOAD iceberg;

HTTP 오류 403 (HTTP Error 403)

문제 (Problem)

원격으로 attach한 카탈로그에서 테이블 목록을 조회하려 할 때, DuckDB가 다음과 같은 오류를 반환해요:

SHOW ALL TABLES;
Failed to query https://s3tables.us-east-2.amazonaws.com/iceberg/v1/arn:aws:s3tables:... http error 403 thrown.
Message: {"message":"The security token included in the request is invalid."}

해결 방법 (Solution)

duckdb_secrets() 함수를 사용해 DuckDB가 필요한 자격 증명을 로드했는지 확인해요:

.mode line
FROM duckdb_secrets();

자격 증명이 보이지 않는다면, 다음 secret을 사용해 수동으로 설정해요:

CREATE SECRET (
    TYPE s3,
    KEY_ID '⟨«redacted:AKIA…»⟩',
    SECRET '⟨wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY⟩',
    REGION '⟨us-east-1⟩'
);

더 알아보기 (Learn more)