AWS 분석 서비스로 메타데이터 테이블 조회

AWS 분석 서비스로 메타데이터 테이블 조회 (Querying metadata tables with AWS analytics services)

Amazon Athena, Amazon Redshift, Amazon EMR 같은 AWS 분석 서비스로 S3 관리형 메타데이터 테이블을 조회할 수 있어요.

출처: 문서

본문

쿼리를 실행하기 전에 먼저 AWS 계정과 리전의 AWS 관리형 S3 테이블 버킷을 AWS 분석 서비스와 통합해야 해요.

Amazon Athena로 메타데이터 테이블 조회 (Querying metadata tables with Amazon Athena)

AWS 관리형 S3 테이블 버킷을 AWS 분석 서비스와 통합한 후에는 Athena에서 메타데이터 테이블 조회를 시작할 수 있어요. 쿼리에서는 다음을 수행해요.

  • 카탈로그를 s3tablescatalog/aws-s3으로, 데이터베이스를 b_general_purpose_bucket_name(일반적으로 메타데이터 테이블의 네임스페이스)으로 지정해요.
  • 메타데이터 테이블 네임스페이스 이름을 따옴표(")나 백틱(`)으로 감싸야 해요. 그렇지 않으면 쿼리가 작동하지 않을 수 있어요.

자세한 내용은 Athena로 Amazon S3 테이블 조회를 참고하세요.

Amazon S3 콘솔에서 Athena로 쿼리를 실행할 수도 있어요.

다음 절차는 Amazon S3 콘솔을 사용해 Athena 쿼리 편집기에 접근해서 Amazon Athena로 테이블을 조회하는 방법이에요.

메타데이터 테이블 조회 (To query a metadata table)

  • AWS Management Console에 로그인하고 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.
  • 왼쪽 탐색 창에서 **범용 버킷(General purpose buckets)**을 선택해요.
  • 범용 버킷(General purpose buckets) 탭에서 조회하려는 메타데이터 테이블의 메타데이터 구성이 들어 있는 버킷을 선택해요.
  • 버킷 세부 정보 페이지에서 메타데이터(Metadata) 탭을 선택해요.
  • **Athena로 테이블 조회(Query table with Athena)**를 선택한 다음 저널 또는 인벤토리 테이블에 대한 샘플 쿼리 중 하나를 선택해요.
  • Amazon Athena 콘솔이 열리며 샘플 쿼리가 로드된 Athena 쿼리 편집기가 표시돼요. 사용 사례에 맞게 이 쿼리를 수정해요. 쿼리 편집기에서 카탈로그(Catalog) 필드는 s3tablescatalog/aws-s3으로 채워져 있어야 해요. 데이터베이스(Database) 필드는 테이블이 저장된 네임스페이스(예: b_general-purpose-bucket-name)로 채워져 있어야 해요. > 참고 카탈로그(Catalog) 및 데이터베이스(Database) 필드에 이 값이 표시되지 않으면 이 리전에서 AWS 관리형 테이블 버킷을 AWS 분석 서비스와 통합했는지 확인하세요. 자세한 내용은 Amazon S3 Tables와 AWS 분석 서비스 통합을 참고하세요.
  • 쿼리를 실행하려면 **실행(Run)**을 선택해요.

참고 Athena에서 쿼리를 실행할 때 "Insufficient permissions to execute the query. Principal does not have any privilege on specified resource" 오류가 발생하면 테이블에 필요한 Lake Formation 권한이 부여되어야 해요. 자세한 내용은 테이블 또는 데이터베이스에 Lake Formation 권한 부여를 참고하세요. 또한 메타데이터 테이블을 조회할 수 있는 적절한 AWS Identity and Access Management(IAM) 권한이 있는지 확인하세요. 자세한 내용은 메타데이터 테이블 조회 권한을 참고하세요.

쿼리를 실행할 때 "Iceberg cannot access the requested resource" 오류가 발생하면 AWS Lake Formation 콘솔로 이동해서 만든 테이블 버킷 카탈로그와 데이터베이스(네임스페이스)에 권한을 부여했는지 확인하세요. 이 권한을 부여할 때 테이블은 지정하지 마세요. 자세한 내용은 테이블 또는 데이터베이스에 Lake Formation 권한 부여를 참고하세요.

Amazon Redshift로 메타데이터 테이블 조회 (Querying metadata tables with Amazon Redshift)

AWS 관리형 S3 테이블 버킷을 AWS 분석 서비스와 통합한 후에는 다음을 수행해요.

  • 메타데이터 테이블 네임스페이스(일반적으로 b_general_purpose_bucket_name)에 리소스 링크를 만들어요.
  • 메타데이터 테이블 네임스페이스 이름을 따옴표(")나 백틱(`)으로 감싸야 해요. 그렇지 않으면 쿼리가 작동하지 않을 수 있어요.

그런 다음 Amazon Redshift 콘솔에서 메타데이터 테이블 조회를 시작할 수 있어요. 자세한 내용은 Amazon Redshift로 Amazon S3 테이블 접근을 참고하세요.

Amazon EMR로 메타데이터 테이블 조회 (Querying metadata tables with Amazon EMR)

Amazon EMR로 메타데이터 테이블을 조회하려면 Apache Iceberg용으로 구성된 Amazon EMR 클러스터를 만들고 Apache Spark를 사용해 메타데이터 테이블에 연결해요. AWS 관리형 S3 테이블 버킷을 AWS 분석 서비스와 통합하거나, Iceberg용 오픈소스 Amazon S3 Tables Catalog 클라이언트 카탈로그를 사용해 이 구성을 설정할 수 있어요.

참고 Amazon EMR의 Apache Spark 또는 기타 써드파티 엔진으로 메타데이터 테이블을 조회할 때는 Amazon S3 Tables Iceberg REST 엔드포인트를 사용하는 것을 권장해요. 이 엔드포인트를 사용하지 않으면 쿼리가 제대로 실행되지 않을 수 있어요. 자세한 내용은 Amazon S3 Tables Iceberg REST 엔드포인트를 사용한 테이블 접근을 참고하세요.

자세한 내용은 Amazon EMR로 Amazon S3 테이블 접근을 참고하세요.

더 알아보기 (Learn more)