AWS 분석 서비스를 사용하여 메타데이터 테이블 쿼리
Amazon Athena, Amazon Redshift 및 Amazon EMR과 같은 AWS 분석 서비스를 사용하여 S3 관리형 메타데이터 테이블을 쿼리할 수 있습니다.
쿼리를 실행하려면 먼저 AWS 계정 및 리전의 AWS 관리형 S3 테이블 버킷을 AWS 분석 서비스와 통합해야 합니다.
Amazon Athena를 사용하여 메타데이터 테이블 쿼리
AWS 관리형 S3 테이블 버킷을 AWS 분석 서비스와 통합한 후 Athena에서 메타데이터 테이블 쿼리를 시작할 수 있습니다. 쿼리에서 다음을 수행합니다.
-
카탈로그를
s3tablescatalog/aws-s3
로 지정하고 데이터베이스를b_
(보통 메타데이터 테이블의 네임스페이스)으로 지정합니다.general_purpose_bucket_name
-
메타데이터 테이블 네임스페이스 이름을 따옴표(
"
) 또는 백틱(`
)으로 묶어야 합니다. 그러지 않으면 쿼리가 작동하지 않을 수 있습니다.
자세한 내용은 Querying Amazon S3 tables with Athena를 참조하세요.
Amazon S3 콘솔을 통해 Athena에서 쿼리를 실행할 수도 있습니다.
다음 절차에서는 Amazon S3 콘솔을 사용하여 Athena 쿼리 편집기에 액세스하여 Amazon Athena로 테이블을 쿼리할 수 있습니다.
메타데이터 테이블을 쿼리하려면
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/
에서 S3 콘솔을 엽니다. -
왼쪽 탐색 창에서 범용 버킷을 선택합니다.
-
범용 버킷 탭에서 쿼리하려는 메타데이터 테이블에 대한 메타데이터 구성이 포함된 버킷을 선택합니다.
-
버킷 세부 정보 페이지에서 메타데이터 탭을 선택합니다.
-
Athena를 사용하여 테이블 쿼리를 선택한 다음 저널 또는 인벤토리 테이블에 대한 샘플 쿼리 중 하나를 선택합니다.
-
Amazon Athena 콘솔이 열리고 Athena 쿼리 편집기가 샘플 쿼리가 로드된 상태로 나타납니다. 사용 사례에 맞게 이 쿼리를 수정합니다.
쿼리 편집기에서 카탈로그 필드는 s3tablescatalog/aws-s3로 채워져야 합니다. 데이터베이스 필드는 테이블이 저장된 네임스페이스(예: b_
general-purpose-bucket-name
)로 채워야 합니다.참고
카탈로그 및 데이터베이스 필드에 이러한 값이 표시되지 않는 경우 AWS 관리형 테이블 버킷을 이 리전의 AWS 분석 서비스와 통합했는지 확인합니다. 자세한 내용은 AWS 분석 서비스와 Amazon S3 Tables 통합 섹션을 참조하세요.
-
그런 다음 실행(Run)을 선택하여 쿼리를 실행합니다.
참고
-
Athena에서 쿼리를 실행하려고 할 때
“쿼리를 실행할 권한이 충분하지 않습니다. 위탁자는 지정된 리소스에 대한 권한이 없습니다."
오류가 표시되면 테이블에서 필요한 Lake Formation 권한이 부여되어야 합니다. 자세한 내용은 테이블 또는 데이터베이스에 대한 Lake Formation 권한 부여 섹션을 참조하세요.또한 메타데이터 테이블을 쿼리할 수 있는 적절한 AWS Identity and Access Management(IAM) 권한이 있는지 확인합니다. 자세한 내용은 메타데이터 테이블 쿼리에 대한 권한 섹션을 참조하세요.
-
쿼리를 실행하려고 할 때
"Iceberg가 요청된 리소스에 액세스할 수 없음"
오류가 표시되면 AWS Lake Formation 콘솔로 이동하여 생성한 테이블 버킷 카탈로그 및 데이터베이스(네임스페이스)에 대한 권한을 자신에게 부여했는지 확인합니다. 이러한 권한을 부여할 때 테이블을 지정하지 마십시오. 자세한 내용은 테이블 또는 데이터베이스에 대한 Lake Formation 권한 부여 섹션을 참조하세요.
-
Amazon Redshift를 사용하여 메타데이터 테이블 쿼리
AWS 관리형 S3 테이블 버킷을 AWS 분석 서비스와 통합한 후 다음을 수행합니다.
-
메타데이터 테이블 네임스페이스(일반적으로
b_
)에 대한 리소스 링크를 만듭니다.general_purpose_bucket_name
-
메타데이터 테이블 네임스페이스 이름을 따옴표(
"
) 또는 백틱(`
)으로 묶어야 합니다. 그러지 않으면 쿼리가 작동하지 않을 수 있습니다.
완료되면 Amazon Redshift 콘솔에서 메타데이터 테이블 쿼리를 시작할 수 있습니다. 자세한 내용은 Accessing Amazon S3 tables with Amazon Redshift를 참조하세요.
Amazon EMR을 사용하여 메타데이터 테이블 쿼리
Amazon EMR을 사용하여 메타데이터 테이블을 쿼리하려면 Apache Iceberg용으로 구성된 Amazon EMR 클러스터를 만들고 Apache Spark를 사용하여 메타데이터 테이블에 연결합니다. AWS 관리형 S3 테이블 버킷을 AWS 분석 서비스와 통합하거나 오픈 소스 Amazon S3 Tables Catalog for Iceberg 클라이언트 카탈로그를 사용하여 이를 설정할 수 있습니다.
참고
Amazon EMR 또는 기타 타사 엔진에서 Apache Spark를 사용하여 메타데이터 테이블을 쿼리하는 경우 Amazon S3 Tables Iceberg REST 엔드포인트를 사용하는 것이 좋습니다. 이 엔드포인트를 사용하지 않으면 쿼리가 성공적으로 실행되지 않을 수 있습니다. 자세한 내용은 Amazon S3 Tables Iceberg REST 엔드포인트를 사용하여 테이블에 액세스 섹션을 참조하세요.
자세한 내용은 Accessing Amazon S3 tables with Amazon EMR을 참조하세요.