테이블 옵티마이저 API - AWS Glue

테이블 옵티마이저 API

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

데이터 타입

TableOptimizer 구조

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

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

    테이블 옵티마이저 유형. 유효한 값은 다음과 같습니다.

    • compaction: 테이블 옵티마이저 압축 관리.

    • retention: 테이블 옵티마이저 스냅샷 보존 관리.

    • orphan_file_deletion: 테이블 옵티마이저 분리된 파일의 삭제 관리.

  • configurationTableOptimizerConfiguration 객체입니다.

    테이블 옵티마이저를 만들거나 업데이트할 때 지정된 TableOptimizerConfiguration 객체입니다.

  • lastRunTableOptimizerRun 객체입니다.

    테이블 옵티마이저의 마지막 실행을 나타내는 TableOptimizerRun 객체입니다.

TableOptimizerConfiguration 구조

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

필드
  • roleArnSingle-line string pattern과 일치하는 UTF-8 문자열입니다(20~2,048바이트).

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

  • enabled – 부울입니다.

    테이블 최적화가 활성화되었는지 여부.

  • vpcConfigurationTableOptimizerVpcConfiguration 객체입니다.

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

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

  • retentionConfigurationRetentionConfiguration 객체입니다.

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

  • orphanFileDeletionConfigurationOrphanFileDeletionConfiguration 객체입니다.

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

TableOptimizerVpcConfiguration 구조

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

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

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

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

TableOptimizerRun 구조

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

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

    테이블 옵티마이저 실행 상태를 나타내는 이벤트 유형입니다.

  • startTimestamp – 타임스탬프입니다.

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

  • endTimestamp – 타임스탬프입니다.

    컴팩션 작업이 종료된 에포크 타임스탬프를 나타냅니다.

  • metricsRunMetrics 객체입니다.

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

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

  • error – UTF-8 문자열입니다.

    옵티마이저 실행 중에 발생한 오류입니다.

  • compactionMetricsCompactionMetrics 객체입니다.

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

  • retentionMetricsRetentionMetrics 객체입니다.

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

  • orphanFileDeletionMetricsOrphanFileDeletionMetrics 객체입니다.

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

BatchGetTableOptimizerEntry 구조

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

필드
  • catalogIdSingle-line string pattern과(와) 일치하는 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 구조

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

필드
  • catalogIdSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 카탈로그 ID 문자열입니다.

    테이블의 카탈로그 ID.

  • databaseName – UTF-8 문자열입니다(최소 1바이트).

    테이블이 있는 카탈로그의 데이터베이스 이름입니다.

  • tableName – UTF-8 문자열입니다(최소 1바이트).

    테이블의 이름

  • tableOptimizerTableOptimizer 객체입니다.

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

BatchGetTableOptimizerError 구조

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

필드
  • errorErrorDetail 객체입니다.

    오류에 대한 코드 및 메시지 세부 정보가 포함된 ErrorDetail 객체입니다.

  • catalogIdSingle-line string pattern과(와) 일치하는 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 구조

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

필드

IcebergRetentionConfiguration 구조

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

필드
  • snapshotRetentionPeriodInDays - 숫자(정수)입니다.

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

  • numberOfSnapshotsToRetain - 숫자(정수)입니다.

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

  • cleanExpiredFiles – 부울입니다.

    false로 설정하면 스냅샷은 테이블 메타데이터에서만 삭제되고, 그에 속한 데이터 및 메타데이터 파일은 삭제되지 않습니다.

OrphanFileDeletionConfiguration 구조

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

필드

IcebergOrphanFileDeletionConfiguration 구조

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

필드
  • orphanFileRetentionPeriodInDays - 숫자(정수)입니다.

    파일이 삭제되기 전까지 분리된 파일이 보존되어야 하는 기간(일). 입력이 없으면 기본값 3이 사용됩니다.

  • location – UTF-8 문자열입니다.

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

CompactionMetrics 구조

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

필드
  • IcebergMetricsIcebergCompactionMetrics 객체입니다.

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

RetentionMetrics 구조

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

필드
  • IcebergMetricsIcebergRetentionMetrics 객체입니다.

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

OrphanFileDeletionMetrics 구조

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

필드
  • IcebergMetricsIcebergOrphanFileDeletionMetrics 객체입니다.

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

IcebergCompactionMetrics 구조

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

필드
  • NumberOfDpus - 숫자(정수).

    작업에 사용된 DPU 시간.

  • JobDurationInHour - 숫자(double)입니다.

    작업 기간(시간).

IcebergRetentionMetrics 구조

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

필드
  • NumberOfDpus - 숫자(정수).

    작업에 사용된 DPU 시간.

  • JobDurationInHour - 숫자(double)입니다.

    작업 기간(시간).

IcebergOrphanFileDeletionMetrics 구조

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

필드
  • NumberOfDpus - 숫자(정수).

    작업에 사용된 DPU 시간.

  • JobDurationInHour - 숫자(double)입니다.

    작업 기간(시간).

RunMetrics 구조

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

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

필드
  • NumberOfBytesCompacted – UTF-8 문자열입니다.

    압축 작업 실행으로 제거된 바이트 수입니다.

  • NumberOfFilesCompacted – UTF-8 문자열입니다.

    압축 작업 실행으로 제거된 파일 수입니다.

  • NumberOfDpus – UTF-8 문자열입니다.

    작업에 사용된 DPU 시간.

  • JobDurationInHour – UTF-8 문자열입니다.

    작업 기간(시간).

운영

GetTableOptimizer 작업 (Python: get_table_optimizer)

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

요청
  • CatalogId – 필수: Single-line string pattern과 일치하는 1~255바이트 길이의 카탈로그 ID 문자열입니다.

    테이블의 카탈로그 ID.

  • DatabaseName필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    테이블이 있는 카탈로그의 데이터베이스 이름입니다.

  • TableName필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    테이블의 이름

  • Type필수: UTF-8 문자열입니다(유효한 값: compaction="COMPACTION" | retention="RETENTION" | orphan_file_deletion="ORPHAN_FILE_DELETION").

    테이블 옵티마이저 유형.

응답
  • CatalogIdSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 카탈로그 ID 문자열입니다.

    테이블의 카탈로그 ID.

  • DatabaseNameSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    테이블이 있는 카탈로그의 데이터베이스 이름입니다.

  • TableNameSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    테이블의 이름

  • TableOptimizerTableOptimizer 객체입니다.

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

오류
  • EntityNotFoundException

  • InvalidInputException

  • AccessDeniedException

  • InternalServiceException

  • ThrottlingException

BatchGetTableOptimizer 작업 (Python: batch_get_table_optimizer)

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

요청
  • Entries필수(Required): BatchGetTableOptimizerEntry 객체의 배열입니다.

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

응답
오류
  • EntityNotFoundException

  • InvalidInputException

  • AccessDeniedException

  • InternalServiceException

  • ThrottlingException

ListTableOptimizerRuns 작업 (Python: list_table_optimizer_runs)

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

요청
  • CatalogId – 필수: Single-line string pattern과 일치하는 1~255바이트 길이의 카탈로그 ID 문자열입니다.

    테이블의 카탈로그 ID.

  • DatabaseName필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    테이블이 있는 카탈로그의 데이터베이스 이름입니다.

  • TableName필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    테이블의 이름

  • Type필수: UTF-8 문자열입니다(유효한 값: compaction="COMPACTION" | retention="RETENTION" | orphan_file_deletion="ORPHAN_FILE_DELETION").

    테이블 옵티마이저 유형.

  • MaxResults - 숫자(정수)입니다.

    각 호출에서 반환되는 옵티마이저 실행의 최대 수입니다.

  • NextToken – UTF-8 문자열입니다.

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

응답
  • CatalogIdSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 카탈로그 ID 문자열입니다.

    테이블의 카탈로그 ID.

  • DatabaseNameSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    테이블이 있는 카탈로그의 데이터베이스 이름입니다.

  • TableNameSingle-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    테이블의 이름

  • NextToken – UTF-8 문자열입니다.

    목록의 현재 세그먼트가 마지막이 아니면 반환된 옵티마이저 실행 목록에 페이지를 매기는 지속적인 토큰은 반환됩니다.

  • TableOptimizerRunsTableOptimizerRun 객체의 배열입니다.

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

오류
  • EntityNotFoundException

  • AccessDeniedException

  • InvalidInputException

  • ValidationException

  • InternalServiceException

  • ThrottlingException

CreateTableOptimizer 작업 (Python: create_table_optimizer)

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

요청
  • CatalogId – 필수: Single-line string pattern과 일치하는 1~255바이트 길이의 카탈로그 ID 문자열입니다.

    테이블의 카탈로그 ID.

  • DatabaseName필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    테이블이 있는 카탈로그의 데이터베이스 이름입니다.

  • TableName필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    테이블의 이름

  • Type필수: UTF-8 문자열입니다(유효한 값: compaction="COMPACTION" | retention="RETENTION" | orphan_file_deletion="ORPHAN_FILE_DELETION").

    테이블 옵티마이저 유형.

  • TableOptimizerConfiguration필수(Required): TableOptimizerConfiguration 객체입니다.

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

응답
  • 무응답 파라미터.

오류
  • EntityNotFoundException

  • ValidationException

  • InvalidInputException

  • AccessDeniedException

  • AlreadyExistsException

  • InternalServiceException

  • ThrottlingException

DeleteTableOptimizer 작업 (Python: delete_table_optimizer)

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

요청
  • CatalogId – 필수: Single-line string pattern과 일치하는 1~255바이트 길이의 카탈로그 ID 문자열입니다.

    테이블의 카탈로그 ID.

  • DatabaseName필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    테이블이 있는 카탈로그의 데이터베이스 이름입니다.

  • TableName필수(Required): Single-line string pattern과(와) 일치하는 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)

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

요청
  • CatalogId – 필수: Single-line string pattern과 일치하는 1~255바이트 길이의 카탈로그 ID 문자열입니다.

    테이블의 카탈로그 ID.

  • DatabaseName필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    테이블이 있는 카탈로그의 데이터베이스 이름입니다.

  • TableName필수(Required): Single-line string pattern과(와) 일치하는 1~255바이트 길이의 UTF-8 문자열입니다.

    테이블의 이름

  • Type필수: UTF-8 문자열입니다(유효한 값: compaction="COMPACTION" | retention="RETENTION" | orphan_file_deletion="ORPHAN_FILE_DELETION").

    테이블 옵티마이저 유형.

  • TableOptimizerConfiguration필수(Required): TableOptimizerConfiguration 객체입니다.

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

응답
  • 무응답 파라미터.

오류
  • EntityNotFoundException

  • InvalidInputException

  • AccessDeniedException

  • ValidationException

  • InternalServiceException

  • ThrottlingException

  • ConcurrentModificationException