

# 스냅샷 보존 옵티마이저 업데이트
<a name="update-snapshot-retention"></a>

 AWS Glue 콘솔, AWS CLI 또는 UpdateTableOptimizer API를 사용하여 특정 Apache Iceberg 테이블에 대한 스냅샷 보존 옵티마이저의 기존 구성을 업데이트할 수 있습니다.

------
#### [ Console ]

**스냅샷 보존 구성 업데이트**

1. AWS Management Console에 로그인하여 [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)에서 AWS Glue 콘솔을 엽니다.

1. **데이터 카탈로그**를 선택하고 **테이블**을 선택합니다. 테이블 목록에서 스냅샷 보존 최적화 프로그램 구성을 업데이트하려는 Iceberg 테이블을 선택합니다.

1. **테이블 세부 정보** 페이지의 하단 섹션에서 **테이블 최적화 ** 탭을 선택한 다음, **편집**을 선택합니다. 페이지의 오른쪽 상단에 있는 **작업** 메뉴에서 **최적화** 아래 **편집**을 선택할 수도 있습니다.

1.  **최적화 편집** 페이지에서 원하는 대로 변경합니다.

1.  **저장**을 선택합니다.

------
#### [ AWS CLI ]

 AWS CLI를 사용하여 스냅샷 보존 옵티마이저를 업데이트하려면 다음 명령을 사용합니다.

```
aws glue update-table-optimizer \
 --catalog-id {{123456789012}} \
 --database-name {{iceberg_db}} \
 --table-name {{iceberg_table}} \
 --table-optimizer-configuration '{"roleArn":"arn:aws:iam::{{123456789012}}:role/{{optimizer_role}}"","enabled":'true', "vpcConfiguration":{"glueConnectionName":{{"glue_connection_name"}}},"retentionConfiguration":{"icebergConfiguration":{"snapshotRetentionPeriodInDays":{{7}},"numberOfSnapshotsToRetain":{{3}},"cleanExpiredFiles":{{'true'}}}}}' \
 --type retention
```

 이 명령은 지정된 카탈로그, 데이터베이스 및 리전의 지정된 테이블에 대한 보존 구성을 업데이트합니다. 주요 파라미터: 
+  snapshotRetentionPeriodInDays - 만료 전에 스냅샷을 보존할 기간(일)입니다. 기본값은 `1`입니다.
+ numberOfSnapshotsToRetain - 보존 기간보다 오래된 경우에도 보관할 최소 스냅샷 수입니다. 기본값은 `5`입니다.
+ cleanExpiredFiles - 스냅샷이 만료된 후 만료된 데이터 파일을 삭제할지 여부를 나타내는 부울입니다. 기본값은 `true`입니다.

   true로 설정하면 이전 스냅샷은 테이블 메타데이터에서 제거되고 그에 속한 파일은 삭제됩니다. 이 파라미터를 false로 설정하면 이전 스냅샷은 테이블 메타데이터에서 제거되지만 그에 속한 파일은 스토리지에 분리된 파일로 남아 있습니다.

------
#### [ API ]

테이블 옵티마이저를 업데이트하려면 `UpdateTableOptimizer` API를 사용할 수 있습니다. 이 API를 사용하면 압축, 보존 또는 분리된 파일 제거에 대해 기존 테이블 옵티마이저의 구성을 업데이트할 수 있습니다. 요청 파라미터:
+ catalogId(필수): 테이블을 포함하는 카탈로그의 ID 
+  databaseName(선택 사항): 테이블을 포함하는 데이터베이스의 이름 
+  tableName(선택 사항): 테이블의 이름 
+  type(필수): 테이블 옵티마이저의 유형(compaction, retention 또는 orphan\_file\_deletion) 
+  retentionConfiguration(필수): 역할 ARN, 활성화 상태, 보존 구성 및 분리된 파일 제거 구성을 포함하여 테이블 옵티마이저의 업데이트된 구성.

------