

# 테이블 옵티마이저 API
<a name="aws-glue-api-table-optimizers"></a>

테이블 옵티마이저 API는 컴팩션을 활성화하여 읽기 성능을 향상시키는 AWS Glue API를 설명합니다.

## 데이터 타입
<a name="aws-glue-api-table-optimizers-objects"></a>
+ [TableOptimizer 구조](#aws-glue-api-table-optimizers-TableOptimizer)
+ [TableOptimizerConfiguration 구조](#aws-glue-api-table-optimizers-TableOptimizerConfiguration)
+ [TableOptimizerVpcConfiguration 구조](#aws-glue-api-table-optimizers-TableOptimizerVpcConfiguration)
+ [CompactionConfiguration 구조](#aws-glue-api-table-optimizers-CompactionConfiguration)
+ [IcebergCompactionConfiguration 구조](#aws-glue-api-table-optimizers-IcebergCompactionConfiguration)
+ [TableOptimizerRun 구조](#aws-glue-api-table-optimizers-TableOptimizerRun)
+ [BatchGetTableOptimizerEntry 구조](#aws-glue-api-table-optimizers-BatchGetTableOptimizerEntry)
+ [BatchTableOptimizer 구조](#aws-glue-api-table-optimizers-BatchTableOptimizer)
+ [BatchGetTableOptimizerError 구조](#aws-glue-api-table-optimizers-BatchGetTableOptimizerError)
+ [RetentionConfiguration 구조](#aws-glue-api-table-optimizers-RetentionConfiguration)
+ [IcebergRetentionConfiguration 구조](#aws-glue-api-table-optimizers-IcebergRetentionConfiguration)
+ [OrphanFileDeletionConfiguration 구조](#aws-glue-api-table-optimizers-OrphanFileDeletionConfiguration)
+ [IcebergOrphanFileDeletionConfiguration 구조](#aws-glue-api-table-optimizers-IcebergOrphanFileDeletionConfiguration)
+ [CompactionMetrics 구조](#aws-glue-api-table-optimizers-CompactionMetrics)
+ [RetentionMetrics 구조](#aws-glue-api-table-optimizers-RetentionMetrics)
+ [OrphanFileDeletionMetrics 구조](#aws-glue-api-table-optimizers-OrphanFileDeletionMetrics)
+ [IcebergCompactionMetrics 구조](#aws-glue-api-table-optimizers-IcebergCompactionMetrics)
+ [IcebergRetentionMetrics 구조](#aws-glue-api-table-optimizers-IcebergRetentionMetrics)
+ [IcebergOrphanFileDeletionMetrics 구조](#aws-glue-api-table-optimizers-IcebergOrphanFileDeletionMetrics)
+ [RunMetrics 구조](#aws-glue-api-table-optimizers-RunMetrics)

## TableOptimizer 구조
<a name="aws-glue-api-table-optimizers-TableOptimizer"></a>

테이블과 관련된 옵티마이저에 대한 세부 정보가 들어 있습니다.

**필드**
+ `type` – UTF-8 문자열입니다(유효한 값: `compaction="COMPACTION"` \| `retention="RETENTION"` \| `orphan_file_deletion="ORPHAN_FILE_DELETION"`).

  테이블 옵티마이저 유형. 유효한 값은 다음과 같습니다.
  + `compaction`: 테이블 옵티마이저 압축 관리.
  + `retention`: 테이블 옵티마이저 스냅샷 보존 관리.
  + `orphan_file_deletion`: 테이블 옵티마이저 분리된 파일의 삭제 관리.
+ `configuration` – [TableOptimizerConfiguration](#aws-glue-api-table-optimizers-TableOptimizerConfiguration) 객체입니다.

  테이블 옵티마이저를 만들거나 업데이트할 때 지정된 `TableOptimizerConfiguration` 객체입니다.
+ `lastRun` – [TableOptimizerRun](#aws-glue-api-table-optimizers-TableOptimizerRun) 객체입니다.

  테이블 옵티마이저의 마지막 실행을 나타내는 `TableOptimizerRun` 객체입니다.
+ `configurationSource` – UTF-8 문자열입니다(유효한 값: `catalog="CATALOG"` \| `table="TABLE"`).

   옵티마이저 구성의 소스를 지정합니다. 이는 테이블 옵티마이저가 구성된 방식과 구성을 시작한 엔터티 또는 서비스를 나타냅니다.

## TableOptimizerConfiguration 구조
<a name="aws-glue-api-table-optimizers-TableOptimizerConfiguration"></a>

테이블 옵티마이저의 구성에 대한 세부 정보가 들어 있습니다. 테이블 옵티마이저를 만들거나 업데이트할 때 이 구성을 전달합니다.

**필드**
+ `roleArn` – [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과 일치하는 UTF-8 문자열입니다(20\~2,048바이트).

  호출자가 전달하는 역할로, 호출자를 대신하여 최적기와 관련된 리소스를 업데이트할 수 있는 권한을 서비스에 부여합니다.
+ `enabled` – 부울입니다.

  테이블 최적화가 활성화되었는지 여부.
+ `vpcConfiguration` – [TableOptimizerVpcConfiguration](#aws-glue-api-table-optimizers-TableOptimizerVpcConfiguration) 객체입니다.

  테이블 옵티마이저에 대한 구성을 나타내는 `TableOptimizerVpcConfiguration` 객체.

  이 구성은 고객 VPC에 있는 테이블에서 최적화를 수행하는 데 필요합니다.
+ `compactionConfiguration` – [CompactionConfiguration](#aws-glue-api-table-optimizers-CompactionConfiguration) 객체입니다.

  압축 옵티마이저의 구성입니다. 이 구성은 쿼리 성능을 개선하고 스토리지 비용을 줄이기 위해 테이블의 데이터 파일이 압축되는 방식을 정의합니다.
+ `retentionConfiguration` – [RetentionConfiguration](#aws-glue-api-table-optimizers-RetentionConfiguration) 객체입니다.

  스냅샷 보존 옵티마이저의 구성.
+ `orphanFileDeletionConfiguration` – [OrphanFileDeletionConfiguration](#aws-glue-api-table-optimizers-OrphanFileDeletionConfiguration) 객체입니다.

  분리된 파일 삭제 옵티마이저의 구성.

## TableOptimizerVpcConfiguration 구조
<a name="aws-glue-api-table-optimizers-TableOptimizerVpcConfiguration"></a>

테이블 옵티마이저에 대한 VPC 구성을 설명하는 객체.

이 구성은 고객 VPC에 있는 테이블에서 최적화를 수행하는 데 필요합니다.

**필드**
+ `glueConnectionName` – UTF-8 문자열입니다(최소 1바이트).

  테이블 옵티마이저에 대한 VPC에 사용되는 AWS Glue 연결의 이름.

## CompactionConfiguration 구조
<a name="aws-glue-api-table-optimizers-CompactionConfiguration"></a>

압축 옵티마이저의 구성입니다. 이 구성은 쿼리 성능을 개선하고 스토리지 비용을 줄이기 위해 테이블의 데이터 파일이 압축되는 방식을 정의합니다.

**필드**
+ `icebergConfiguration` – [IcebergCompactionConfiguration](#aws-glue-api-table-optimizers-IcebergCompactionConfiguration) 객체입니다.

  Iceberg 압축 옵티마이저의 구성입니다.

## IcebergCompactionConfiguration 구조
<a name="aws-glue-api-table-optimizers-IcebergCompactionConfiguration"></a>

Iceberg 압축 옵티마이저의 구성입니다. 이 구성은 Iceberg 테이블의 데이터 파일 레이아웃을 최적화하기 위한 파라미터를 정의합니다.

**필드**
+ `strategy` – UTF-8 문자열입니다(유효한 값: `binpack="BINPACK"` \| `sort="SORT"` \| `z-order="ZORDER"`).

  압축에 사용할 전략입니다. 유효한 값은 다음과 같습니다.
  +  `binpack`: 작은 파일을 더 큰 파일로 결합합니다. 일반적으로 100MB 이상의 크기를 대상으로 하는 동시에 보류 중인 삭제를 적용합니다. 대부분의 사용 사례에 권장되는 압축 전략입니다.
  +  `sort`: 압축 도중 계층적으로 정렬된 지정된 열을 기반으로 데이터를 구성하여 필터링된 작업에 대한 쿼리 성능을 개선합니다. 이 전략은 쿼리가 특정 열을 자주 필터링할 때 권장됩니다. 이 전략을 사용하려면 먼저 `sort_order` 테이블 속성을 사용하여 Iceberg 테이블 속성에서 정렬 순서를 정의해야 합니다.
  +  `z-order`: 여러 속성을 정렬에 사용할 수 있는 단일 스칼라 값으로 블렌딩하여 데이터 구성을 최적화하므로 여러 차원에 걸쳐 효율적인 쿼리가 가능합니다. 이 전략은 여러 차원에서 동시에 데이터를 쿼리해야 하는 경우에 권장됩니다. 이 전략을 사용하려면 먼저 `sort_order` 테이블 속성을 사용하여 Iceberg 테이블 속성에서 정렬 순서를 정의해야 합니다.

  입력이 제공되지 않으면 기본값인 'binpack'이 사용됩니다.
+ `minInputFiles` - 숫자(정수)입니다.

  압축을 통해 실제로 파일을 압축하기 위해 파티션에 있어야 하는 최소 데이터 파일 수입니다. 이 파라미터는 압축이 트리거되는 시점을 제어하여 파일이 거의 없는 파티션에서 불필요하게 압축 작업이 실행되지 않도록 합니다. 입력하지 않으면 기본값 100이 사용됩니다.
+ `deleteFileThreshold` - 숫자(정수)입니다.

  압축에 적합한 크기가 되기 위해 데이터 파일에 있어야 하는 최소 삭제 건수입니다. 이 파라미터는 상당한 수의 삭제 작업이 포함되어 있어 삭제된 레코드를 제거할 경우 쿼리 성능이 개선될 수 있는 파일에 집중함으로써 압축을 최적화하는 데 도움이 됩니다. 입력하지 않으면 기본값 1이 사용됩니다.

## TableOptimizerRun 구조
<a name="aws-glue-api-table-optimizers-TableOptimizerRun"></a>

테이블 옵티마이저 실행에 대한 세부 정보가 들어 있습니다.

**필드**
+ `eventType` – UTF-8 문자열입니다(유효한 값: `starting="STARTING"` \| `completed="COMPLETED"` \| `failed="FAILED"` \| `in_progress="IN_PROGRESS"`).

  테이블 옵티마이저 실행 상태를 나타내는 이벤트 유형입니다.
+ `startTimestamp` – 타임스탬프입니다.

  Lake Formation 내에서 압축 작업이 시작된 시점의 에포크 타임스탬프를 나타냅니다.
+ `endTimestamp` – 타임스탬프입니다.

  컴팩션 작업이 종료된 에포크 타임스탬프를 나타냅니다.
+ `metrics` – [RunMetrics](#aws-glue-api-table-optimizers-RunMetrics) 객체입니다.

  옵티마이저 실행에 대한 메트릭이 포함된 `RunMetrics` 객체입니다.

  이 멤버는 더 이상 사용되지 않습니다. 압축, 보존 및 분리된 파일 삭제에 대해서는 개별 지표 구성원을 참조하세요.
+ `error` – UTF-8 문자열입니다.

  옵티마이저 실행 중에 발생한 오류입니다.
+ `compactionMetrics` – [CompactionMetrics](#aws-glue-api-table-optimizers-CompactionMetrics) 객체입니다.

  옵티마이저 실행에 대한 메트릭이 포함된 `CompactionMetrics` 객체입니다.
+ `compactionStrategy` – UTF-8 문자열입니다(유효한 값: `binpack="BINPACK"` \| `sort="SORT"` \| `z-order="ZORDER"`).

  압축 실행에 사용되는 전략입니다. 압축 프로세스 중에 파일을 선택하고 결합하는 방법을 결정하는 데 적용된 알고리즘을 나타냅니다. 유효한 값은 다음과 같습니다.
  +  `binpack`: 작은 파일을 더 큰 파일로 결합합니다. 일반적으로 100MB 이상의 크기를 대상으로 하는 동시에 보류 중인 삭제를 적용합니다. 대부분의 사용 사례에 권장되는 압축 전략입니다.
  +  `sort`: 압축 도중 계층적으로 정렬된 지정된 열을 기반으로 데이터를 구성하여 필터링된 작업에 대한 쿼리 성능을 개선합니다. 이 전략은 쿼리가 특정 열을 자주 필터링할 때 권장됩니다. 이 전략을 사용하려면 먼저 `sort_order` 테이블 속성을 사용하여 Iceberg 테이블 속성에서 정렬 순서를 정의해야 합니다.
  +  `z-order`: 여러 속성을 정렬에 사용할 수 있는 단일 스칼라 값으로 블렌딩하여 데이터 구성을 최적화하므로 여러 차원에 걸쳐 효율적인 쿼리가 가능합니다. 이 전략은 여러 차원에서 동시에 데이터를 쿼리해야 하는 경우에 권장됩니다. 이 전략을 사용하려면 먼저 `sort_order` 테이블 속성을 사용하여 Iceberg 테이블 속성에서 정렬 순서를 정의해야 합니다.
+ `retentionMetrics` – [RetentionMetrics](#aws-glue-api-table-optimizers-RetentionMetrics) 객체입니다.

  옵티마이저 실행에 대한 메트릭이 포함된 `RetentionMetrics` 객체입니다.
+ `orphanFileDeletionMetrics` – [OrphanFileDeletionMetrics](#aws-glue-api-table-optimizers-OrphanFileDeletionMetrics) 객체입니다.

  옵티마이저 실행에 대한 메트릭이 포함된 `OrphanFileDeletionMetrics` 객체입니다.

## BatchGetTableOptimizerEntry 구조
<a name="aws-glue-api-table-optimizers-BatchGetTableOptimizerEntry"></a>

`BatchGetTableOptimizer` 작업에서 검색할 테이블 옵티마이저를 나타냅니다.

**필드**
+ `catalogId` – [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과(와) 일치하는 1\~255바이트 길이의 카탈로그 ID 문자열입니다.

  테이블의 카탈로그 ID.
+ `databaseName` – UTF-8 문자열입니다(최소 1바이트).

  테이블이 있는 카탈로그의 데이터베이스 이름입니다.
+ `tableName` – UTF-8 문자열입니다(최소 1바이트).

  테이블의 이름
+ `type` – UTF-8 문자열입니다(유효한 값: `compaction="COMPACTION"` \| `retention="RETENTION"` \| `orphan_file_deletion="ORPHAN_FILE_DELETION"`).

  테이블 옵티마이저 유형.

## BatchTableOptimizer 구조
<a name="aws-glue-api-table-optimizers-BatchTableOptimizer"></a>

`BatchGetTableOptimizer` 작업에서 반환된 테이블 옵티마이저 중 하나에 대한 세부 정보가 들어 있습니다.

**필드**
+ `catalogId` – [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과(와) 일치하는 1\~255바이트 길이의 카탈로그 ID 문자열입니다.

  테이블의 카탈로그 ID.
+ `databaseName` – UTF-8 문자열입니다(최소 1바이트).

  테이블이 있는 카탈로그의 데이터베이스 이름입니다.
+ `tableName` – UTF-8 문자열입니다(최소 1바이트).

  테이블의 이름
+ `tableOptimizer` – [TableOptimizer](#aws-glue-api-table-optimizers-TableOptimizer) 객체입니다.

  테이블 옵티마이저의 구성 및 마지막 실행에 대한 세부 정보가 포함된 `TableOptimizer` 객체입니다.

## BatchGetTableOptimizerError 구조
<a name="aws-glue-api-table-optimizers-BatchGetTableOptimizerError"></a>

`BatchGetTableOptimizer` 작업에서 반환된 오류 목록의 오류 중 하나에 대한 세부 정보가 들어 있습니다.

**필드**
+ `error` – [ErrorDetail](aws-glue-api-common.md#aws-glue-api-common-ErrorDetail) 객체입니다.

  오류에 대한 코드 및 메시지 세부 정보가 포함된 `ErrorDetail` 객체입니다.
+ `catalogId` – [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과(와) 일치하는 1\~255바이트 길이의 카탈로그 ID 문자열입니다.

  테이블의 카탈로그 ID.
+ `databaseName` – UTF-8 문자열입니다(최소 1바이트).

  테이블이 있는 카탈로그의 데이터베이스 이름입니다.
+ `tableName` – UTF-8 문자열입니다(최소 1바이트).

  테이블의 이름
+ `type` – UTF-8 문자열입니다(유효한 값: `compaction="COMPACTION"` \| `retention="RETENTION"` \| `orphan_file_deletion="ORPHAN_FILE_DELETION"`).

  테이블 옵티마이저 유형.

## RetentionConfiguration 구조
<a name="aws-glue-api-table-optimizers-RetentionConfiguration"></a>

스냅샷 보존 옵티마이저의 구성.

**필드**
+ `icebergConfiguration` – [IcebergRetentionConfiguration](#aws-glue-api-table-optimizers-IcebergRetentionConfiguration) 객체입니다.

  Iceberg 스냅샷 보존 옵티마이저의 구성.

## IcebergRetentionConfiguration 구조
<a name="aws-glue-api-table-optimizers-IcebergRetentionConfiguration"></a>

Iceberg 스냅샷 보존 옵티마이저의 구성.

**필드**
+ `snapshotRetentionPeriodInDays` - 숫자(정수)입니다.

  Iceberg 스냅샷을 보존하는 기간(일). 입력이 없으면 해당 Iceberg 테이블 구성 필드가 사용되거나 필드가 없는 경우 기본값 5가 사용됩니다.
+ `numberOfSnapshotsToRetain` - 숫자(정수)입니다.

  보존 기간 내에 유지해야 하는 Iceberg 스냅샷의 수. 입력이 없으면 해당 Iceberg 테이블 구성 필드가 사용되거나 필드가 없는 경우 기본값 1이 사용됩니다.
+ `cleanExpiredFiles` – 부울입니다.

  false로 설정하면 스냅샷은 테이블 메타데이터에서만 삭제되고, 그에 속한 데이터 및 메타데이터 파일은 삭제되지 않습니다.
+ `runRateInHours` - 숫자(정수)입니다.

  보존 작업의 실행 간격(단위: 시간)입니다. 이 파라미터는 보존 옵티마이저를 실행하여 만료된 스냅샷을 정리하는 빈도를 제어합니다. 이 값은 3\~168시간(7일)이어야 합니다. 입력하지 않으면 기본값 24가 사용됩니다.

## OrphanFileDeletionConfiguration 구조
<a name="aws-glue-api-table-optimizers-OrphanFileDeletionConfiguration"></a>

분리된 파일 삭제 옵티마이저의 구성.

**필드**
+ `icebergConfiguration` – [IcebergOrphanFileDeletionConfiguration](#aws-glue-api-table-optimizers-IcebergOrphanFileDeletionConfiguration) 객체입니다.

  Iceberg 분리된 파일 삭제 옵티마이저의 구성.

## IcebergOrphanFileDeletionConfiguration 구조
<a name="aws-glue-api-table-optimizers-IcebergOrphanFileDeletionConfiguration"></a>

Iceberg 분리된 파일 삭제 옵티마이저의 구성.

**필드**
+ `orphanFileRetentionPeriodInDays` - 숫자(정수)입니다.

  파일이 삭제되기 전까지 분리된 파일이 보존되어야 하는 기간(일). 입력이 없으면 기본값 3이 사용됩니다.
+ `location` – UTF-8 문자열입니다.

  파일을 찾을 디렉터리를 지정합니다(기본값은 테이블 위치). 최상위 테이블 위치 대신 하위 디렉터리를 선택할 수 있습니다.
+ `runRateInHours` - 숫자(정수)입니다.

  분리된 파일 삭제 작업의 실행 간격(단위: 시간)입니다. 이 파라미터는 분리된 파일 삭제 옵티마이저를 실행하여 분리된 파일을 정리하는 빈도를 제어합니다. 이 값은 3\~168시간(7일)이어야 합니다. 입력하지 않으면 기본값 24가 사용됩니다.

## CompactionMetrics 구조
<a name="aws-glue-api-table-optimizers-CompactionMetrics"></a>

옵티마이저 실행에 대한 압축 지표가 포함된 구조.

**필드**
+ `IcebergMetrics` – [IcebergCompactionMetrics](#aws-glue-api-table-optimizers-IcebergCompactionMetrics) 객체입니다.

  옵티마이저 실행에 대한 Iceberg 압축 지표가 포함된 구조.

## RetentionMetrics 구조
<a name="aws-glue-api-table-optimizers-RetentionMetrics"></a>

옵티마이저 실행에 대한 보존 지표가 포함된 구조.

**필드**
+ `IcebergMetrics` – [IcebergRetentionMetrics](#aws-glue-api-table-optimizers-IcebergRetentionMetrics) 객체입니다.

  옵티마이저 실행에 대한 Iceberg 보존 지표가 포함된 구조.

## OrphanFileDeletionMetrics 구조
<a name="aws-glue-api-table-optimizers-OrphanFileDeletionMetrics"></a>

옵티마이저 실행에 대한 분리된 파일 삭제 지표가 포함된 구조.

**필드**
+ `IcebergMetrics` – [IcebergOrphanFileDeletionMetrics](#aws-glue-api-table-optimizers-IcebergOrphanFileDeletionMetrics) 객체입니다.

  옵티마이저 실행에 대한 Iceberg 분리된 파일 삭제 지표가 포함된 구조.

## IcebergCompactionMetrics 구조
<a name="aws-glue-api-table-optimizers-IcebergCompactionMetrics"></a>

옵티마이저 실행에 대한 Iceberg 압축 지표.

**필드**
+ `DpuHours` - 숫자(double)입니다.

  작업에 사용된 DPU 시간.
+ `NumberOfDpus` - 숫자(정수)입니다.

  작업에서 사용하는 DPU의 수로, 가장 가까운 정수로 반올림됩니다.
+ `JobDurationInHour` - 숫자(double)입니다.

  작업 기간(시간).

## IcebergRetentionMetrics 구조
<a name="aws-glue-api-table-optimizers-IcebergRetentionMetrics"></a>

옵티마이저 실행에 대한 Iceberg 스냅샷 보존 지표.

**필드**
+ `DpuHours` - 숫자(double)입니다.

  작업에 사용된 DPU 시간.
+ `NumberOfDpus` - 숫자(정수)입니다.

  작업에서 사용하는 DPU의 수로, 가장 가까운 정수로 반올림됩니다.
+ `JobDurationInHour` - 숫자(double)입니다.

  작업 기간(시간).

## IcebergOrphanFileDeletionMetrics 구조
<a name="aws-glue-api-table-optimizers-IcebergOrphanFileDeletionMetrics"></a>

옵티마이저 실행에 대한 Iceberg 분리된 파일 삭제 지표.

**필드**
+ `DpuHours` - 숫자(double)입니다.

  작업에 사용된 DPU 시간.
+ `NumberOfDpus` - 숫자(정수)입니다.

  작업에서 사용하는 DPU의 수로, 가장 가까운 정수로 반올림됩니다.
+ `JobDurationInHour` - 숫자(double)입니다.

  작업 기간(시간).

## RunMetrics 구조
<a name="aws-glue-api-table-optimizers-RunMetrics"></a>

옵티마이저 실행에 대한 지표.

이 구조는 더 이상 사용되지 않습니다. 압축, 보존 및 분리된 파일 삭제에 대해서는 개별 지표 구성원을 참조하세요.

**필드**
+ `NumberOfBytesCompacted` – UTF-8 문자열입니다.

  압축 작업 실행으로 제거된 바이트 수입니다.
+ `NumberOfFilesCompacted` – UTF-8 문자열입니다.

  압축 작업 실행으로 제거된 파일 수입니다.
+ `NumberOfDpus` – UTF-8 문자열입니다.

  작업에서 사용하는 DPU의 수로, 가장 가까운 정수로 반올림됩니다.
+ `JobDurationInHour` – UTF-8 문자열입니다.

  작업 기간(시간).

## 운영
<a name="aws-glue-api-table-optimizers-actions"></a>
+ [GetTableOptimizer 작업 (Python: get\_table\_optimizer)](#aws-glue-api-table-optimizers-GetTableOptimizer)
+ [BatchGetTableOptimizer 작업 (Python: batch\_get\_table\_optimizer)](#aws-glue-api-table-optimizers-BatchGetTableOptimizer)
+ [ListTableOptimizerRuns 작업 (Python: list\_table\_optimizer\_runs)](#aws-glue-api-table-optimizers-ListTableOptimizerRuns)
+ [CreateTableOptimizer 작업 (Python: create\_table\_optimizer)](#aws-glue-api-table-optimizers-CreateTableOptimizer)
+ [DeleteTableOptimizer 작업 (Python: delete\_table\_optimizer)](#aws-glue-api-table-optimizers-DeleteTableOptimizer)
+ [UpdateTableOptimizer 작업 (Python: update\_table\_optimizer)](#aws-glue-api-table-optimizers-UpdateTableOptimizer)

## GetTableOptimizer 작업 (Python: get\_table\_optimizer)
<a name="aws-glue-api-table-optimizers-GetTableOptimizer"></a>

지정된 테이블과 관련된 모든 옵티마이저의 구성을 반환합니다.

**요청**
+ `CatalogId` – 필수: [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과 일치하는 1\~255바이트 길이의 카탈로그 ID 문자열입니다.

  테이블의 카탈로그 ID.
+ `DatabaseName` – *필수(Required):* [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다.

  테이블이 있는 카탈로그의 데이터베이스 이름입니다.
+ `TableName` – *필수(Required):* [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다.

  테이블의 이름
+ `Type` – *필수:* UTF-8 문자열입니다(유효한 값: `compaction="COMPACTION"` \| `retention="RETENTION"` \| `orphan_file_deletion="ORPHAN_FILE_DELETION"`).

  테이블 옵티마이저 유형.

**응답**
+ `CatalogId` – [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과(와) 일치하는 1\~255바이트 길이의 카탈로그 ID 문자열입니다.

  테이블의 카탈로그 ID.
+ `DatabaseName` – [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다.

  테이블이 있는 카탈로그의 데이터베이스 이름입니다.
+ `TableName` – [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다.

  테이블의 이름
+ `TableOptimizer` – [TableOptimizer](#aws-glue-api-table-optimizers-TableOptimizer) 객체입니다.

  지정된 테이블에 연결된 옵티마이저입니다.

**오류**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `AccessDeniedException`
+ `InternalServiceException`
+ `ThrottlingException`

## BatchGetTableOptimizer 작업 (Python: batch\_get\_table\_optimizer)
<a name="aws-glue-api-table-optimizers-BatchGetTableOptimizer"></a>

지정된 테이블 옵티마이저의 구성을 반환합니다.

**요청**
+ `Entries` – **필수(Required): [BatchGetTableOptimizerEntry](#aws-glue-api-table-optimizers-BatchGetTableOptimizerEntry) 객체의 배열입니다.

  검색할 테이블 옵티마이저를 지정하는 `BatchGetTableOptimizerEntry` 객체 목록입니다.

**응답**
+ `TableOptimizers` – [BatchTableOptimizer](#aws-glue-api-table-optimizers-BatchTableOptimizer) 객체의 배열입니다.

  `BatchTableOptimizer` 객체의 목록.
+ `Failures` – [BatchGetTableOptimizerError](#aws-glue-api-table-optimizers-BatchGetTableOptimizerError) 객체의 배열입니다.

  작업의 오류 목록.

**오류**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `AccessDeniedException`
+ `InternalServiceException`
+ `ThrottlingException`

## ListTableOptimizerRuns 작업 (Python: list\_table\_optimizer\_runs)
<a name="aws-glue-api-table-optimizers-ListTableOptimizerRuns"></a>

특정 테이블에 대한 이전 옵티마이저 실행 기록을 나열합니다.

**요청**
+ `CatalogId` – 필수: [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과 일치하는 1\~255바이트 길이의 카탈로그 ID 문자열입니다.

  테이블의 카탈로그 ID.
+ `DatabaseName` – *필수(Required):* [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다.

  테이블이 있는 카탈로그의 데이터베이스 이름입니다.
+ `TableName` – *필수(Required):* [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다.

  테이블의 이름
+ `Type` – *필수:* UTF-8 문자열입니다(유효한 값: `compaction="COMPACTION"` \| `retention="RETENTION"` \| `orphan_file_deletion="ORPHAN_FILE_DELETION"`).

  테이블 옵티마이저 유형.
+ `MaxResults` - 숫자(정수)입니다.

  각 호출에서 반환되는 옵티마이저 실행의 최대 수입니다.
+ `NextToken` – UTF-8 문자열입니다.

  이것이 지속적으로 호출되면 지속적인 토큰입니다.

**응답**
+ `CatalogId` – [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과(와) 일치하는 1\~255바이트 길이의 카탈로그 ID 문자열입니다.

  테이블의 카탈로그 ID.
+ `DatabaseName` – [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다.

  테이블이 있는 카탈로그의 데이터베이스 이름입니다.
+ `TableName` – [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다.

  테이블의 이름
+ `NextToken` – UTF-8 문자열입니다.

  목록의 현재 세그먼트가 마지막이 아니면 반환된 옵티마이저 실행 목록에 페이지를 매기는 지속적인 토큰은 반환됩니다.
+ `TableOptimizerRuns` – [TableOptimizerRun](#aws-glue-api-table-optimizers-TableOptimizerRun) 객체의 배열입니다.

  테이블에 연결된 옵티마이저 실행 목록입니다.

**오류**
+ `EntityNotFoundException`
+ `AccessDeniedException`
+ `InvalidInputException`
+ `ValidationException`
+ `InternalServiceException`
+ `ThrottlingException`

## CreateTableOptimizer 작업 (Python: create\_table\_optimizer)
<a name="aws-glue-api-table-optimizers-CreateTableOptimizer"></a>

특정 함수에 대한 새 테이블 옵티마이저를 생성합니다.

**요청**
+ `CatalogId` – 필수: [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과 일치하는 1\~255바이트 길이의 카탈로그 ID 문자열입니다.

  테이블의 카탈로그 ID.
+ `DatabaseName` – *필수(Required):* [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다.

  테이블이 있는 카탈로그의 데이터베이스 이름입니다.
+ `TableName` – *필수(Required):* [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다.

  테이블의 이름
+ `Type` – *필수:* UTF-8 문자열입니다(유효한 값: `compaction="COMPACTION"` \| `retention="RETENTION"` \| `orphan_file_deletion="ORPHAN_FILE_DELETION"`).

  테이블 옵티마이저 유형.
+ `TableOptimizerConfiguration` – **필수(Required): [TableOptimizerConfiguration](#aws-glue-api-table-optimizers-TableOptimizerConfiguration) 객체입니다.

  테이블 옵티마이저의 구성을 나타내는 `TableOptimizerConfiguration` 객체입니다.

**응답**
+ *무응답 파라미터.*

**오류**
+ `EntityNotFoundException`
+ `ValidationException`
+ `InvalidInputException`
+ `AccessDeniedException`
+ `AlreadyExistsException`
+ `InternalServiceException`
+ `ThrottlingException`

## DeleteTableOptimizer 작업 (Python: delete\_table\_optimizer)
<a name="aws-glue-api-table-optimizers-DeleteTableOptimizer"></a>

테이블의 옵티마이저 및 모든 관련 메타데이터를 삭제합니다. 최적화는 더 이상 테이블에서 수행되지 않습니다.

**요청**
+ `CatalogId` – 필수: [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과 일치하는 1\~255바이트 길이의 카탈로그 ID 문자열입니다.

  테이블의 카탈로그 ID.
+ `DatabaseName` – *필수(Required):* [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다.

  테이블이 있는 카탈로그의 데이터베이스 이름입니다.
+ `TableName` – *필수(Required):* [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다.

  테이블의 이름
+ `Type` – *필수:* UTF-8 문자열입니다(유효한 값: `compaction="COMPACTION"` \| `retention="RETENTION"` \| `orphan_file_deletion="ORPHAN_FILE_DELETION"`).

  테이블 옵티마이저 유형.

**응답**
+ *무응답 파라미터.*

**오류**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `AccessDeniedException`
+ `InternalServiceException`
+ `ThrottlingException`

## UpdateTableOptimizer 작업 (Python: update\_table\_optimizer)
<a name="aws-glue-api-table-optimizers-UpdateTableOptimizer"></a>

기존 테이블 옵티마이저의 구성을 업데이트합니다.

**요청**
+ `CatalogId` – 필수: [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과 일치하는 1\~255바이트 길이의 카탈로그 ID 문자열입니다.

  테이블의 카탈로그 ID.
+ `DatabaseName` – *필수(Required):* [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다.

  테이블이 있는 카탈로그의 데이터베이스 이름입니다.
+ `TableName` – *필수(Required):* [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)과(와) 일치하는 1\~255바이트 길이의 UTF-8 문자열입니다.

  테이블의 이름
+ `Type` – *필수:* UTF-8 문자열입니다(유효한 값: `compaction="COMPACTION"` \| `retention="RETENTION"` \| `orphan_file_deletion="ORPHAN_FILE_DELETION"`).

  테이블 옵티마이저 유형.
+ `TableOptimizerConfiguration` – **필수(Required): [TableOptimizerConfiguration](#aws-glue-api-table-optimizers-TableOptimizerConfiguration) 객체입니다.

  테이블 옵티마이저의 구성을 나타내는 `TableOptimizerConfiguration` 객체입니다.

**응답**
+ *무응답 파라미터.*

**오류**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `AccessDeniedException`
+ `ValidationException`
+ `InternalServiceException`
+ `ThrottlingException`
+ `ConcurrentModificationException`