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⟩'
);