表优化器 API - Amazon Glue
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

表优化器 API

表优化器 API 介绍了用于启用压缩以提高读取性能的 Amazon Glue API。

数据类型

TableOptimizer 的结构

包含有关与表相关的优化器详细信息。

字段
  • type – UTF-8 字符串(有效值:compaction="COMPACTION" | retention="RETENTION" | orphan_file_deletion="ORPHAN_FILE_DELETION")。

    优化器的类型。有效值为:

    • compaction:用于使用表优化器管理压缩。

    • retention:用于使用表优化器管理快照保留。

    • orphan_file_deletion:用于使用表优化器管理孤立文件删除。

  • configuration – 一个 TableOptimizerConfiguration 对象。

    在创建或更新表优化器时指定的 TableOptimizerConfiguration 对象。

  • lastRun – 一个 TableOptimizerRun 对象。

    表示表优化器的上一次运行的 TableOptimizerRun 对象。

TableOptimizerConfiguration 的结构

包含有关表优化器配置的详细信息。您可以在创建或更新表优化器时传递此配置。

字段
  • roleArn – UTF-8 字符串,长度不少于 1 个字节或超过 512 个字节,与 Single-line string pattern 匹配。

    由调用方传递的角色,将向服务授予代表调用方更新与优化器关联的资源的权限。

  • enabled – 布尔值。

    是否启用表优化。

  • retentionConfiguration – 一个 RetentionConfiguration 对象。

    快照保留优化器的配置。

  • orphanFileDeletionConfiguration – 一个 OrphanFileDeletionConfiguration 对象。

    孤立文件删除优化器的配置。

TableOptimizerRun 的结构

包含表优化器运行的详细信息。

字段
  • eventType – UTF-8 字符串(有效值:starting="STARTING" | completed="COMPLETED" | failed="FAILED" | in_progress="IN_PROGRESS")。

    一种表示表优化器运行状态的事件类型。

  • startTimestamp – 时间戳。

    表示在 Lake Formation 中启动压缩作业的纪元时间戳。

  • endTimestamp – 时间戳。

    表示压缩作业结束的纪元时间戳。

  • metrics – 一个 RunMetrics 对象。

    包含有关优化器运行的指标的 RunMetrics 对象。

    该成员已弃用。请参阅有关压缩、保留和孤立文件删除的独立指标成员。

  • error – UTF-8 字符串。

    优化器运行期间出现的错误。

  • compactionMetrics – 一个 CompactionMetrics 对象。

    包含有关优化器运行的指标的 CompactionMetrics 对象。

  • retentionMetrics – 一个 RetentionMetrics 对象。

    包含有关优化器运行的指标的 RetentionMetrics 对象。

  • orphanFileDeletionMetrics – 一个 OrphanFileDeletionMetrics 对象。

    包含有关优化器运行指标的 OrphanFileDeletionMetrics 对象。

BatchGetTableOptimizerEntry 的结构

表示要在 BatchGetTableOptimizer 操作中检索的表优化器。

字段
  • catalogId – 目录 id 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    表的目录 ID。

  • databaseName – UTF-8 字符串,至少 1 个字节。

    表所在的目录中的数据库的名称。

  • tableName – UTF-8 字符串,至少 1 个字节。

    表的名称。

  • type – UTF-8 字符串(有效值:compaction="COMPACTION" | retention="RETENTION" | orphan_file_deletion="ORPHAN_FILE_DELETION")。

    优化器的类型。

BatchTableOptimizer 的结构

包含 BatchGetTableOptimizer 操作返回的表优化器之一的详细信息。

字段
  • catalogId – 目录 id 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    表的目录 ID。

  • databaseName – UTF-8 字符串,至少 1 个字节。

    表所在的目录中的数据库的名称。

  • tableName – UTF-8 字符串,至少 1 个字节。

    表的名称。

  • tableOptimizer – 一个 TableOptimizer 对象。

    包含有关表优化器配置和上次运行详细信息的 TableOptimizer 对象。

BatchGetTableOptimizerError 的结构

包含 BatchGetTableOptimizer 操作所返回错误列表中的某一个错误的详细信息。

字段
  • error – 一个 ErrorDetail 对象。

    包含有关错误代码和错误消息详细信息的 ErrorDetail 对象。

  • catalogId – 目录 id 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    表的目录 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 结构

包含有关优化器运行的压缩指标的结构。

字段
  • IcebergMetrics – 一个 IcebergCompactionMetrics 对象。

    包含有关优化器运行的 Iceberg 压缩指标的结构。

RetentionMetrics 结构

包含有关优化器运行的保留指标的结构。

字段
  • IcebergMetrics – 一个 IcebergRetentionMetrics 对象。

    包含有关优化器运行的 Iceberg 保留指标的结构。

OrphanFileDeletionMetrics 结构

包含有关优化器运行的孤立文件删除指标的结构。

字段

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必填项:目录 id 字符串,长度不少于 1 个字节,并且不超过 255 个字节,并且符合 Single-line string pattern

    表的目录 ID。

  • DatabaseName必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    表所在的目录中的数据库的名称。

  • TableName必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    表的名称。

  • Type必填: UTF-8 字符串(有效值:compaction="COMPACTION" | retention="RETENTION" | orphan_file_deletion="ORPHAN_FILE_DELETION")。

    优化器的类型。

响应
  • CatalogId – 目录 id 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    表的目录 ID。

  • DatabaseName – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    表所在的目录中的数据库的名称。

  • TableName – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    表的名称。

  • TableOptimizer – 一个 TableOptimizer 对象。

    与指定表关联的优化器。

错误
  • EntityNotFoundException

  • InvalidInputException

  • AccessDeniedException

  • InternalServiceException

  • ThrottlingException

BatchGetTableOptimizer 操作(Python:batch_get_table_optimizer)

返回指定表优化器的配置。

请求
  • Entries必填:BatchGetTableOptimizerEntry 对象的数组。

    指定要检索的表优化器的 BatchGetTableOptimizerEntry 对象列表。

响应
错误
  • EntityNotFoundException

  • InvalidInputException

  • AccessDeniedException

  • InternalServiceException

  • ThrottlingException

ListTableOptimizerRuns 操作(Python:list_table_optimizer_runs)

列出特定表的之前优化器运行历史记录。

请求
  • CatalogId必填项:目录 id 字符串,长度不少于 1 个字节,并且不超过 255 个字节,并且符合 Single-line string pattern

    表的目录 ID。

  • DatabaseName必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    表所在的目录中的数据库的名称。

  • TableName必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    表的名称。

  • Type必填: UTF-8 字符串(有效值:compaction="COMPACTION" | retention="RETENTION" | orphan_file_deletion="ORPHAN_FILE_DELETION")。

    优化器的类型。目前唯一有效的值是 compaction

  • MaxResults – 数字(整数)。

    每次调用时将返回的最大优化器运行数。

  • NextToken – UTF-8 字符串。

    延续标记 (如果这是延续调用)。

响应
  • CatalogId – 目录 id 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    表的目录 ID。

  • DatabaseName – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    表所在的目录中的数据库的名称。

  • TableName – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    表的名称。

  • NextToken – UTF-8 字符串。

    对返回的优化器运行列表进行分页的延续令牌(如果列表的当前段不是最后一段,则返回该令牌)。

  • TableOptimizerRunsTableOptimizerRun 对象的数组。

    与表关联的优化器运行的列表。

错误
  • EntityNotFoundException

  • AccessDeniedException

  • InvalidInputException

  • ValidationException

  • InternalServiceException

  • ThrottlingException

CreateTableOptimizer 操作(Python:create_table_optimizer)

为特定函数创建新的表优化器。compaction 是目前唯一支持的优化器类型。

请求
  • CatalogId必填项:目录 id 字符串,长度不少于 1 个字节,并且不超过 255 个字节,并且符合 Single-line string pattern

    表的目录 ID。

  • DatabaseName必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    表所在的目录中的数据库的名称。

  • TableName必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    表的名称。

  • Type必填: UTF-8 字符串(有效值:compaction="COMPACTION" | retention="RETENTION" | orphan_file_deletion="ORPHAN_FILE_DELETION")。

    优化器的类型。目前唯一有效的值是 compaction

  • TableOptimizerConfiguration必填:一个 TableOptimizerConfiguration 对象。

    表示表优化器的配置的 TableOptimizerConfiguration 对象。

响应
  • 无响应参数。

错误
  • EntityNotFoundException

  • ValidationException

  • InvalidInputException

  • AccessDeniedException

  • AlreadyExistsException

  • InternalServiceException

  • ThrottlingException

DeleteTableOptimizer 操作(Python:delete_table_optimizer)

删除一个表的一个优化器以及所有相关元数据。将不再对该表执行优化。

请求
  • CatalogId必填项:目录 id 字符串,长度不少于 1 个字节,并且不超过 255 个字节,并且符合 Single-line string pattern

    表的目录 ID。

  • DatabaseName必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    表所在的目录中的数据库的名称。

  • TableName必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    表的名称。

  • Type必填: UTF-8 字符串(有效值:compaction="COMPACTION" | retention="RETENTION" | orphan_file_deletion="ORPHAN_FILE_DELETION")。

    优化器的类型。

响应
  • 无响应参数。

错误
  • EntityNotFoundException

  • InvalidInputException

  • AccessDeniedException

  • InternalServiceException

  • ThrottlingException

UpdateTableOptimizer 操作(Python:update_table_optimizer

更新现有表优化器的配置。

请求
  • CatalogId必填项:目录 id 字符串,长度不少于 1 个字节,并且不超过 255 个字节,并且符合 Single-line string pattern

    表的目录 ID。

  • DatabaseName必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    表所在的目录中的数据库的名称。

  • TableName必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    表的名称。

  • Type必填: UTF-8 字符串(有效值:compaction="COMPACTION" | retention="RETENTION" | orphan_file_deletion="ORPHAN_FILE_DELETION")。

    优化器的类型。目前唯一有效的值是 compaction

  • TableOptimizerConfiguration必填:一个 TableOptimizerConfiguration 对象。

    表示表优化器的配置的 TableOptimizerConfiguration 对象。

响应
  • 无响应参数。

错误
  • EntityNotFoundException

  • InvalidInputException

  • AccessDeniedException

  • ValidationException

  • InternalServiceException

  • ThrottlingException

  • ConcurrentModificationException