Iceberg 데이터 세트를 쿼리하려면 다음과 같이 표준 SELECT
문을 사용합니다. 쿼리는 Apache Iceberg 포맷 v2 사양
SELECT * FROM [db_name
.]table_name
[WHERE predicate
]
쿼리 시간을 최적화하기 위해 일부 술어는 데이터가 존재하는 곳으로 푸시다운됩니다.
시간 이동 및 버전 이동 쿼리에 대한 자세한 내용은 시간 이동 및 버전 이동 쿼리 수행 섹션을 참조하세요.
Iceberg 테이블에서 뷰 생성 및 쿼리
Iceberg 테이블에서 Athena 보기를 생성하고 쿼리하려면 뷰 작업에 설명된 대로 CREATE VIEW
보기를 사용합니다.
예시
CREATE VIEW view1 AS SELECT * FROM iceberg_table
SELECT * FROM view1
Iceberg 보기 사양
Iceberg 테이블 메타데이터 쿼리
SELECT
쿼리에서 table_name
뒤에 다음 속성을 사용하여 Iceberg 테이블 메타데이터를 쿼리할 수 있습니다.
-
$files - 테이블의 현재 데이터 파일을 표시합니다.
-
$manifests - 테이블의 현재 파일 매니페스트를 표시합니다.
-
$history – 테이블의 기록을 표시합니다.
-
$partitions - 테이블의 현재 파티션을 표시합니다.
-
$snapshots - 테이블의 스냅샷을 보여줍니다.
-
$refs - 테이블의 참조를 표시합니다.
예시
다음 명령문은 Iceberg 테이블의 파일을 나열합니다.
SELECT * FROM "dbname
"."tablename
$files"
다음 명령문은 Iceberg 테이블의 매니페스트를 나열합니다.
SELECT * FROM "dbname
"."tablename
$manifests"
다음 명령문은 Iceberg 테이블의 기록을 표시합니다.
SELECT * FROM "dbname
"."tablename
$history"
다음 예제는 Iceberg 테이블의 파티션을 표시합니다.
SELECT * FROM "dbname
"."tablename
$partitions"
다음 예제는 Iceberg 테이블의 스냅샷을 나열합니다.
SELECT * FROM "dbname
"."tablename
$snapshots"
다음 예제는 Iceberg 테이블의 참조를 표시합니다.
SELECT * FROM "dbname
"."tablename
$refs"
Lake Formation 세분화된 액세스 제어 사용
Athena 엔진 버전 3에서는 열 수준 및 행 수준 보안 액세스 제어를 포함하여 Iceberg 테이블을 통한 Lake Formation 세분화된 액세스 제어를 지원합니다. 이 액세스 제어는 시간 이동 쿼리 및 스키마 진화를 수행한 테이블과 함께 작동합니다. 자세한 내용은 Lake Formation 세분화된 액세스 제어 및 Athena 작업 그룹 단원을 참조하십시오.
Athena 외부에서 Iceberg 테이블을 생성한 경우 Iceberg 테이블 열 정보가 AWS Glue Data Catalog에 채워지도록 Apache Iceberg SDK