

# 启用目录级别自动统计数据生成
<a name="enable-auto-column-stats-generation"></a>

您可以为 Data Catalog 中所有新的 Apache Iceberg 表和非 OTF 表（Parquet、JSON、CSV、XML、ORC、ION）格式的表启用自动列统计数据生成。创建表后，您还可以手动显式更新列统计数据设置。

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

------
#### [ AWS 管理控制台 ]

**在账户级别启用自动列统计数据生成**

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

1. 在左侧导航栏上，选择**目录**。

1. 在**目录摘要**页面上，选择**优化配置**下的**编辑**。  
![\[此屏幕截图显示了可用于生成列统计数据的选项。\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/images/edit-column-stats-auto.png)

1. 在**表优化配置**页面上，选择**启用自动为目录表生成统计数据**选项。  
![\[此屏幕截图显示了可用于生成列统计数据的选项。\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/images/edit-optimization-option.jpg)

1. 选择一个现有 IAM 角色或创建一个具有运行列统计数据任务所需权限的新角色。

1. 选择**提交**。

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

您也可以通过 AWS CLI 启用目录级别统计数据收集。要使用 AWS CLI 配置表级统计数据收集，请运行下面的命令：

```
aws glue update-catalog --cli-input-json '{
    "name": "123456789012",
    "catalogInput": {
        "description": "Updating root catalog with role arn",
        "catalogProperties": {
            "customProperties": {
                "ColumnStatistics.RoleArn": "arn:aws:iam::"123456789012":role/service-role/AWSGlueServiceRole",
                "ColumnStatistics.Enabled": "true"
            }
        }
    }
}'
```

 上面的命令调用 AWS Glue 的 `UpdateCatalog` 操作，它采用具有以下键值对的 `CatalogProperties` 结构生成目录级别统计数据：
+ ColumnStatistics.RoleArn：用于为生成目录级别统计数据而触发的所有任务的 IAM 角色 ARN
+ ColumnStatistics.Enabled：表示目录级别设置是启用还是禁用的布尔值

------