테이블 데이터에 액세스
Amazon S3 테이블 버킷의 테이블에 액세스하는 방법에는 여러 가지가 있습니다. Amazon SageMaker Lakehouse를 사용하여 테이블을 AWS 분석 서비스와 통합하거나 Amazon S3 Tables Iceberg REST 엔드포인트 또는 Amazon S3 Tables Catalog for Apache Iceberg를 사용하여 직접 테이블에 액세스할 수 있습니다. 사용하는 액세스 방법은 카탈로그 설정, 거버넌스 모델 및 액세스 제어 요구 사항에 따라 달라집니다. 다음은 이러한 액세스 방법에 대한 개요입니다.
- Amazon SageMaker Lakehouse 통합
이는 S3 테이블 버킷의 테이블 작업을 위해 권장되는 액세스 방법입니다. 통합을 통해 통합 테이블 관리, 중앙 집중식 거버넌스, 여러 AWS 분석 서비스에서 세분화된 액세스 제어를 제공합니다.
- 직접 액세스
AWS Partner Network(APN) 카탈로그 구현, 사용자 지정 카탈로그 구현을 사용해야 하거나 단일 테이블 버킷 내의 테이블에 대한 기본 읽기/쓰기 작업만 수행해야 하는 경우 이 방법을 사용합니다.
참고
테이블에 액세스하려면 사용하는 IAM ID에 테이블 리소스 및 S3 Tables 작업에 대한 액세스 권한이 있어야 합니다. 자세한 내용은 S3 Tables의 액세스 관리 섹션을 참조하세요.
Amazon SageMaker Lakehouse 통합을 통해 테이블에 액세스
S3 테이블 버킷을 Amazon SageMaker Lakehouse와 통합하여 Amazon Athena, Amazon Redshift, QuickSight와 같은 AWS 분석 서비스의 테이블에 액세스할 수 있습니다. Amazon SageMaker Lakehouse는 Amazon S3 데이터 레이크와 Amazon Redshift 데이터 웨어하우스의 모든 데이터를 통합하여 단일 데이터 사본에 기반하는 분석, 머신 러닝(ML), 생성 AI 애플리케이션을 구축할 수 있도록 지원합니다. 통합은 AWS Glue Data Catalog를 테이블 리소스로 채우고 이러한 리소스에 대한 액세스를 AWS Lake Formation과 페더레이션합니다. 통합에 대한 자세한 내용은 AWS 분석 서비스에서 Amazon S3 Tables 사용 섹션을 참조하세요.
통합을 사용하면 AWS Lake Formation을 통해 세분화된 액세스 제어를 사용해서 추가 보안을 제공할 수 있습니다. Lake Formation은 자체 권한 모델과 IAM 권한 모델의 조합을 사용하여 테이블 리소스 및 기본 데이터에 대한 액세스를 제어합니다. 즉, 테이블에 대한 액세스 요청은 IAM과 Lake Formation 모두의 권한 확인을 통과해야 합니다. 자세한 내용은 AWS Lake Formation 개발자 안내서의 Lake Formation 권한 개요를 참조하세요.
다음 AWS 분석 서비스는 이 통합을 통해 테이블에 액세스할 수 있습니다.
AWS GlueIceberg REST 엔드포인트를 사용하여 테이블에 액세스
S3 테이블 버킷이 Amazon SageMaker Lakehouse와 통합되면 AWS Glue Iceberg REST 엔드포인트를 사용하여 Iceberg를 지원하는 타사 쿼리 엔진의 S3 테이블에 연결할 수도 있습니다. 자세한 내용은 AWS GlueIceberg REST 엔드포인트를 사용하여 Amazon S3 Tables에 액세스 섹션을 참조하세요.
Spark, PyIceberg 또는 기타 Iceberg 호환 클라이언트에서 테이블에 액세스하려는 경우 AWS Glue Iceberg REST 엔드포인트를 사용하는 것이 좋습니다.
다음 클라이언트는 AWS Glue Iceberg REST 엔드포인트를 통해 테이블에 직접 액세스할 수 있습니다.
Spark, PyIceberg 등을 포함한 모든 Iceberg 클라이언트
테이블에 직접 액세스
S3 Tables 관리 작업을 Apache Iceberg 분석 애플리케이션에 연결하는 방법을 통해 오픈 소스 쿼리 엔진에서 직접 테이블에 액세스할 수 있습니다. Amazon S3 Tables Iceberg REST 엔드포인트 또는 Amazon S3 Tables Catalog for Apache Iceberg라는 두 가지 직접 액세스 방법이 있습니다. REST 엔드포인트를 사용하는 것이 좋습니다.
자체 관리형 카탈로그 구현의 테이블에 액세스하거나 단일 테이블 버킷의 테이블에 대한 기본 읽기/쓰기 작업만 수행하면 되는 경우 직접 액세스하는 것이 좋습니다. 다른 액세스 시나리오의 경우 Amazon SageMaker Lakehouse 통합을 권장합니다.
테이블에 대한 직접 액세스는 IAM 자격 증명 기반 정책 또는 테이블 및 테이블 버킷에 연결된 리소스 기반 정책을 통해 관리됩니다. 테이블에 직접 액세스할 때 테이블에 대한 Lake Formation 권한을 관리할 필요가 없습니다.
Amazon S3 Tables Iceberg REST 엔드포인트를 통해 테이블에 액세스
Amazon S3 TablesIceberg REST 엔드포인트를 사용하여 HTTP 엔드포인트를 통해 Iceberg REST 호환 클라이언트에서 직접 테이블에 액세스할 수 있습니다. 자세한 내용은 Amazon S3 Tables Iceberg REST 엔드포인트를 사용하여 테이블에 액세스 섹션을 참조하세요.
다음 AWS 분석 서비스 및 쿼리 엔진은 Amazon S3 Tables Iceberg REST 엔드포인트를 사용하여 테이블에 직접 액세스할 수 있습니다.
지원되는 쿼리 엔진
Spark, PyIceberg 등을 포함한 모든 Iceberg 클라이언트
Amazon S3 Tables Catalog for Apache Iceberg를 통해 직접 테이블에 액세스
S3 Tables 클라이언트 카탈로그를 사용하여 Apache Spark와 같은 쿼리 엔진에서 직접 테이블에 액세스할 수도 있습니다. 자세한 내용은 Amazon S3 Tables Catalog for Apache Iceberg를 사용하여 Amazon S3 Tables에 액세스 섹션을 참조하세요. 그러나 S3는 언어 또는 엔진별 코드 없이 더 많은 애플리케이션을 지원하므로 직접 액세스에 Amazon S3 TablesIceberg REST 엔드포인트를 사용할 것을 권장합니다.
다음 쿼리 엔진은 클라이언트 카탈로그를 사용하여 테이블에 직접 액세스할 수 있습니다.