Amazon S3 Tables
Amazon S3 Tables
iceberg 확장은 Amazon S3 Tables에 저장된 Iceberg 테이블 읽기를 지원해요. 아직 실험적인 지원이므로 최신 버전에서 동작을 확인해보는 걸 권장해요.
출처: 문서
본문
S3 Tables 지원은 현재 실험적이에요.
iceberg 확장은 Amazon S3 Tables에 저장된 Iceberg 테이블 읽기를 지원해요.
요구 사항
다음 확장을 설치해요.
INSTALL aws;
INSTALL httpfs;
INSTALL iceberg;
Amazon S3 Tables에 연결하기
Secrets Manager로 다음 secret을 생성하면 ~/.aws 디렉토리의 기본 프로필을 기반으로 AWS 자격 증명과 구성을 DuckDB가 자동으로 감지하게 할 수 있어요.
CREATE SECRET (
TYPE s3,
PROVIDER credential_chain
);
또는 값을 직접 설정할 수도 있어요.
CREATE SECRET (
TYPE s3,
KEY_ID '⟨key_id⟩',
SECRET '⟨secret⟩',
REGION '⟨region⟩'
);
자격 증명 옵션의 전체 범위(가정된 역할, SSO, 웹 ID 등)는 aws 확장을 참고해요.
그런 다음 AWS Management Console에서 확인 가능한 S3 Tables ARN과 ENDPOINT_TYPE s3_tables 옵션을 사용해 카탈로그에 연결해요.
ATTACH '⟨s3_tables_arn⟩' AS my_s3_tables_catalog (
TYPE iceberg,
ENDPOINT_TYPE s3_tables
);
경고
ENDPOINT_TYPE s3_tables는 항상s3tables.⟨region⟩.amazonaws.com/iceberg형태의 엔드포인트를 생성해요. 이는 일반적인amazonaws.com접미사를 사용하지 않는 리전에서는 올바르지 않아요. 특히amazonaws.com.cn을 사용하는 AWS 중국 리전(cn-north-1,cn-northwest-1)이 그렇죠. 이런 리전에서는ENDPOINT_TYPE대신 명시적ENDPOINT(리전에 맞는 올바른 호스트)와AUTHORIZATION_TYPE 'sigv4'를 함께 전달해 카탈로그를 부착해요.
부착이 잘 됐는지 확인하려면 모든 테이블을 나열해요.
SHOW ALL TABLES;
테이블은 다음과 같이 쿼리할 수 있어요.
SELECT count(*)
FROM my_s3_tables_catalog.⟨namespace_name⟩.⟨table_name⟩;
S3 Tables는 Iceberg REST 카탈로그예요. ATTACH 옵션의 전체 목록과 호환성 플래그에 대한 자세한 내용은 Iceberg REST 카탈로그를 참고해요.
더 알아보기 (Learn more)
aws확장에서 S3 자격 증명 옵션을 더 자세히 살펴볼 수 있어요.- Iceberg REST 카탈로그 문서에서
ATTACH옵션을 확인해요.