Amazon SageMaker Lakehouse

Amazon SageMaker Lakehouse (AWS Glue)

iceberg 확장은 Amazon SageMaker Lakehouse(일명 AWS Glue) 카탈로그를 통해 Iceberg 테이블 읽기를 지원해요. 아직 실험적인 지원이므로 최신 버전에서 동작을 확인해보는 걸 권장해요.

출처: 문서

본문

Amazon SageMaker Lakehouse (AWS Glue) 지원은 현재 실험적이에요.

iceberg 확장은 Amazon SageMaker Lakehouse (a.k.a. AWS Glue) 카탈로그를 통해 Iceberg 테이블 읽기를 지원해요.

요구 사항

사용하려면 다음 확장을 설치해요.

INSTALL aws;
INSTALL httpfs;
INSTALL iceberg;

core 저장소의 확장으로 다시 전환하려면 확장 문서를 따라가요.

Amazon SageMaker Lakehouse (AWS Glue)에 연결하기

Secrets Manager로 S3 secret을 생성해요.

CREATE SECRET (
    TYPE s3,
    PROVIDER credential_chain,
    CHAIN sts,
    ASSUME_ROLE_ARN 'arn:aws:iam::⟨account_id⟩:role/⟨role⟩',
    REGION 'us-east-2'
);

이 예제에서는 STS 토큰을 사용하지만, 다른 인증 방법도 지원돼요.

그런 다음 카탈로그에 연결해요.

ATTACH '⟨account_id⟩' AS glue_catalog (
    TYPE iceberg,
    ENDPOINT 'glue.⟨REGION⟩.amazonaws.com/iceberg',
    AUTHORIZATION_TYPE 'sigv4'
);

또는 이렇게도 가능해요.

ATTACH '⟨account_id⟩' AS glue_catalog (
    TYPE iceberg,
    ENDPOINT_TYPE 'glue'
);

경고 Amazon S3 Tables와 마찬가지로 ENDPOINT_TYPE glue는 항상 glue.⟨region⟩.amazonaws.com/iceberg 형태의 엔드포인트를 생성해요. 이는 일반적인 amazonaws.com 접미사를 사용하지 않는 리전(특히 amazonaws.com.cn을 사용하는 AWS 중국 리전 cn-north-1, cn-northwest-1)에서는 올바르지 않아요. 이런 리전에서는 ENDPOINT_TYPE 대신 명시적 ENDPOINT(올바른 호스트)와 AUTHORIZATION_TYPE 'sigv4'를 함께 사용해 부착해요.

웨어하우스 식별자(ATTACH의 첫 번째 인자)는 다음 형태를 받아들여요.

웨어하우스 의미
: 호출자 계정의 기본 카탈로그.
⟨account_id⟩ 12자리 AWS 계정 ID.
⟨account_id⟩:⟨catalog⟩ 주어진 계정의 명명된 카탈로그.
⟨catalog⟩/⟨sub_catalog⟩ 중첩(페더레이션) 카탈로그.
⟨account_id⟩:⟨catalog⟩/⟨sub_catalog⟩ 주어진 계정의 중첩 카탈로그.

부착이 잘 됐는지 확인하려면 모든 테이블을 나열해요.

SHOW ALL TABLES;

테이블은 다음과 같이 쿼리할 수 있어요.

SELECT count(*)
FROM glue_catalog.⟨namespace_name⟩.⟨table_name⟩;

S3 Tables 페더레이션 카탈로그가 있다면 표준 CREATE TABLE 문법으로 테이블을 만들 수 있어요.

CREATE TABLE glue_catalog.⟨namespace_name⟩.⟨table_name⟩ (a INTEGER, b VARCHAR);

카탈로그가 S3 Tables로 페더레이션되지 않았다면 location 테이블 속성을 전달해야 할 수 있어요. WITH 절로 이렇게 할 수 있어요.

CREATE TABLE glue_catalog.⟨namespace_name⟩.⟨table_name⟩ (a INTEGER, b VARCHAR)
WITH (
    'location' = 's3://path/to/location'
);

WITH 절에 대한 자세한 내용은 테이블 속성에서 확인할 수 있어요.

더 알아보기 (Learn more)

  • aws 확장에서 인증 방법을 더 자세히 살펴볼 수 있어요.
  • Amazon S3 Tables 문서에서 S3 Tables 연결 방법을 확인해요.