

# 启用目录级自动表优化
<a name="enable-auto-table-optimizers"></a>

 您可以为 Data Catalog 中的所有 Apache Iceberg 新表启用自动表优化。创建表后，还可以手动显式更新表优化设置。

 要更新 Data Catalog 设置以启用目录级表优化，使用的 IAM 角色必须对根目录具有 `glue:UpdateCatalog` 权限。您可以使用 `GetCatalog` API 来验证目录属性。

 对于 Lake Formation 托管式表，在目录优化配置期间选择的 IAM 角色需要任何新表或更新后的表的 Lake Formation `ALTER`、`DESCRIBE`、`INSERT` 以及 `DELETE` 权限。

## 启用目录级优化器（控制台）
<a name="enable-catalog-optimizers-console"></a>

1. 通过 [https://console.aws.amazon.com/lakeformation/](https://console.amazonaws.cn/lakeformation/) 打开 Lake Formation 控制台。

1. 在导航窗格中，选择 **Data Catalog**。

1. 选择**目录**选项卡。

1. 选择账户级别目录。

1. 在**表优化**选项卡下选择**表优化**、**编辑**。也可在**操作**中选择**编辑优化**。  
![屏幕截图，其中显示了在目录级别启用优化的编辑选项。](http://docs.amazonaws.cn/glue/latest/dg/images/catalog-edit-optimizations.png)

1. 在**表优化**页面上配置以下选项：  
![屏幕截图，其中显示了目录级别的优化选项。](http://docs.amazonaws.cn/glue/latest/dg/images/catalog-optimization-options.png)

   1. 配置**压缩**设置：
      + 启用/禁用压缩功能。
      + 选择具有运行优化器所需权限的 IAM 角色。

        有关 IAM 角色权限要求的更多信息，请参阅[表优化的先决条件](optimization-prerequisites.md)。

   1. 配置**快照保留**设置：
      + 启用/禁用保留功能。
      + 设置以天为单位的快照保留期：默认值为 5 天。
      + 设置要保留的快照数量：默认值为 1 个快照。
      + 启用/禁用过期文件清理功能。

   1. 配置**孤立文件删除**设置：
      + 启用/禁用孤立文件删除功能。
      + 设置以天为单位的孤立文件保留期：默认值为 3 天。

1. 选择**保存**。

## 通过 Amazon CLI 启用目录级优化器
<a name="catalog-auto-optimizers-cli"></a>

使用以下 CLI 命令更新现有目录的优化器设置：

**Example 更新目录的优化器设置**  

```
aws glue update-catalog \
   --name {{catalog-id}} \
  --catalog-input \
  '{
    "CatalogId": "{{111122223333}}",
    "CatalogInput": {
        "CatalogProperties": {
            "CustomProperties": {
                "ColumnStatistics.Enabled": "false",
                "ColumnStatistics.RoleArn": "arn:aws:iam::{{111122223333}}:role/service-role/{{stats-role-name}}"
            },
            "IcebergOptimizationProperties": {
                "RoleArn": "arn:aws:iam::{{111122223333}}:role/{{optimizer-role-name}}",
                "Compaction": {
                    "enabled": "{{true}}"
                },
                "Retention": {
                    "enabled": "{{true}}",
                    "snapshotRetentionPeriodInDays": "{{10}}",
                    "numberOfSnapshotsToRetain": "{{5}}",
                    "cleanExpiredFiles": "{{true}}"
                },
                "OrphanFileDeletion": {
                    "enabled": "{{true}}",
                    "orphanFileRetentionPeriodInDays": "{{3}}"
                }
            }
        }
    }
}'
```

如果在使用目录级优化器时遇到问题，请检查以下内容：
+ 确保 IAM 角色具有“先决条件”部分所述的正确权限。
+ 查看 CloudWatch 日志，了解与优化器操作相关的任何错误信息。

   有关更多信息，请参阅《Amazon CloudWatch 用户指南》中的[查看可用的指标](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/viewing_metrics_with_cloudwatch.html)**。
+ 检查目录配置，确认目录设置是否已成功应用。
+ 对于表访问失败，请查看 CloudWatch 日志和 EventBridge 通知，了解详细的错误信息。