

# Iceberg 테이블의 쿼리 성능 최적화
<a name="iceberg-column-statistics"></a>

Apache Iceberg는 대규모 분석 데이터세트를 위한 고성능 오픈 테이블 형식입니다. AWS Glue에서는 Iceberg 테이블의 각 열에 대한 고유 값의 수(NDV) 계산 및 업데이트를 지원합니다. 이러한 통계를 통해 대규모 데이터세트를 사용하는 데이터 엔지니어와 과학자의 쿼리 최적화, 데이터 관리 및 성능 효율성을 높일 수 있습니다.

 AWS Glue에서는 Iceberg 테이블의 각 열에 있는 고유 값의 수를 추정하고 Iceberg 테이블 스냅샷과 연결된 Amazon S3의 [Puffin](https://iceberg.apache.org/puffin-spec/) 파일에 저장합니다. Puffin은 인덱스, 통계, 스케치와 같은 메타데이터를 저장하도록 설계된 Iceberg 파일 형식입니다. 스냅샷과 연결된 Puffin 파일에 스케치를 저장하면 트랜잭션 일관성을 유지하면서 NDV 통계를 최신으로 유지할 수 있습니다.

AWS Glue 콘솔 또는 AWS CLI를 사용하여 열 통계 생성 작업을 실행하도록 구성할 수 있습니다. 프로세스를 시작하면 백그라운드에서 AWS Glue가 Spark 작업을 시작하고 데이터 카탈로그의 AWS Glue 테이블 메타데이터를 업데이트합니다. AWS Glue 콘솔 또는 AWS CLI를 사용하거나 [GetColumnStatisticsForTable](https://docs.aws.amazon.com/glue/latest/webapi/API_GetColumnStatisticsForTable.html) API 작업을 직접적으로 호출하여 열 통계를 볼 수 있습니다.

**참고**  
AWS Lake Formation 권한을 사용하여 테이블에 대한 액세스를 제어하는 경우 열 통계 작업에서 맡은 역할을 수행하려면 통계를 생성하기 위한 전체 테이블 액세스 권한이 필요합니다.

**Topics**
+ [열 통계 생성을 위한 사전 요구 사항](iceberg-column-stats-prereqs.md)
+ [Iceberg 테이블의 열 통계 생성](iceberg-generate-column-stats.md)
+ [다음 사항도 참조하세요.](#see-also-iceberg-stats)

# 열 통계 생성을 위한 사전 요구 사항
<a name="iceberg-column-stats-prereqs"></a>

Iceberg 테이블의 열 통계를 생성하거나 업데이트하기 위해 통계 생성 작업은 사용자를 대신하여 AWS Identity and Access Management(IAM) 역할을 수임합니다. 역할에 부여된 권한에 따라 열 통계 생성 작업은 Amazon S3 데이터 스토어에서 데이터를 읽을 수 있습니다.

열 통계 생성 작업을 구성하면 AWS Glue에서 `AWSGlueServiceRole` AWS 관리형 정책과 지정된 데이터 소스에 대한 필수 인라인 정책을 포함하는 역할 생성을 허용합니다.

열 통계 생성에 대한 기존 역할을 지정하는 경우 `AWSGlueServiceRole` 정책 또는 이에 상응하는 것(또는 이 정책의 범위가 축소된 버전)과 필수 인라인 정책이 포함되어 있는지 확인합니다.

필요한 권한에 대한 자세한 정보는 [열 통계 생성을 위한 사전 요구 사항](column-stats-prereqs.md) 섹션을 참조하세요.

# Iceberg 테이블의 열 통계 생성
<a name="iceberg-generate-column-stats"></a>

다음 단계에 따라 AWS Glue 콘솔 또는 AWS CLI를 사용하거나 **StartColumnStatisticsTaskRun** 작업을 실행하여 데이터 카탈로그에서 통계를 생성하는 일정을 구성하거나 실행합니다.

**열 통계 생성**

1. AWS Glue 콘솔([https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/))에 로그인합니다.

1. 데이터 카탈로그에서 **테이블**을 선택합니다.

1. 목록에서 Iceberg 테이블을 선택합니다.

1. **작업** 메뉴에서 **열 통계**, **요청 시 생성**을 선택합니다.

   **테이블** 페이지 하단 섹션의 **열 통계** 탭에서 **통계 생성** 버튼을 선택해도 됩니다.

1. **통계 생성** 페이지에서 통계 생성 세부 정보를 입력합니다. [일정에 따라 열 통계 생성](generate-column-stats.md) 섹션의 6\$111단계에 따라 Iceberg 테이블에 대한 통계 생성을 구성하세요.

   [온디맨드로 열 통계 생성](column-stats-on-demand.md)의 지침에 따라 온디맨드로 열 통계를 생성하도록 선택할 수도 있습니다.
**참고**  
샘플링 옵션은 Iceberg 테이블에 사용할 수 없습니다.

   AWS Glue에서는 Amazon S3 위치의 지정된 스냅샷 ID로 커밋된 새 Puffin 파일에 대한 Iceberg 테이블의 각 열에 대한 고유 값 수를 계산합니다.

## 다음 사항도 참조하세요.
<a name="see-also-iceberg-stats"></a>
+ [열 통계 보기](view-column-stats.md)
+ [컬럼 통계 태스크 실행 보기](view-stats-run.md)
+ [열 통계 작업 실행 중지](stop-stats-run.md)
+ [컬럼 통계 삭제](delete-column-stats.md)