Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 
      中国的 Amazon Web Services 服务入门
         (PDF)。
    按需生成列统计数据
您可以按需为 Amazon Glue Data Catalog 表任务运行列统计任务,无需设定计划。此选项对于临时分析或需要立即计算统计数据的场景非常实用。
按照以下步骤,使用 Amazon Glue 控制台或 Amazon CLI 按需为 Data Catalog 表生成列统计数据。
            - Amazon Web Services Management Console
- 
                    使用控制台生成列统计数据- 
                            通过以下网址登录到 Amazon Glue 控制台:https://console.aws.amazon.com/glue/。 
- 
                            选择 Data Catalog 表。 
- 
                             从列表中选择一个表。 
- 
                            在操作菜单下选择生成统计数据。 您也可以选择表页面下半部分的列统计数据选项卡,然后选择生成、按需生成选项。 
- 按照按计划生成列统计数据中第 7-11 步的说明操作,生成表的列统计数据。 
- 
                            在生成统计数据页面上,请指定以下选项: 
                                 
                                 
                          
                         
                         
                            
                             
                            - 
                                    所有列 – 选择此选项可生成表中所有列的统计信息。 
- 
                                    选定列 – 选择此选项可生成特定列的统计数据。您可以从下拉列表中选择列。 
- 
                            IAM 角色:选择创建新 IAM 角色,该角色应具有运行列统计数据生成任务所需的权限策略。选择“查看权限详细信息”,查看政策声明。您还可以从列表中选择 IAM 角色。有关所需权限的更多信息,请参阅 生成列统计数据的先决条件。 Amazon Glue 代入您指定的角色权限,生成统计信息。 有关为 Amazon Glue 提供角色的更多信息,请参阅 Identity-based policies for Amazon Glue。 
- 
                            (可选)然后选择一种安全配置来启用日志静态加密。 
- 
                                样本行 – 仅从表中选择特定百分比的行来生成统计数据。默认值为所有行。使用向上和向下箭头可增加或减少百分比值。 我们建议选择表中的所有行,以计算出准确的统计数据。仅在可接受近似值时,才使用样本行来生成列统计数据。 
 
 选择生成统计数据以运行任务。 
 
- Amazon CLI
- 
                    该命令将触发指定表的列统计任务运行。您需要提供数据库名称、表名称、具有统计数据生成权限的 IAM 角色,此外还可以提供列名和以及统计数据计算的样本容量百分比。 aws glue start-column-statistics-task-run \ 
    --database-name 'database_name\ 
    --table-name 'table_name' \ 
    --role 'arn:aws:iam::123456789012:role/stats-role' \
    --column-name 'col1','col2'  \
    --sample-size 10.0
 该命令将启动一项任务,从而为指定表生成列统计数据。 
按需更新列统计数据
             确保列统计数据为最新,是查询优化器生成高效的执行计划、提高查询性能、减少资源消耗和提高整体系统性能的关键。这一过程在数据发生重大更改(例如批量加载或大量修改)之后尤为重要,因为这可能会使现有的统计数据过时。
            您需要从 Amazon Glue 控制台显式运行生成统计数据任务才能刷新列统计数据。Data Catalog 不会自动刷新统计数据。
            
            如果您未使用控制台的使用 Amazon Glue 统计数据生成功能,则可以使用 UpdateColumnStatisticsForTable API 操作或 Amazon CLI 手动更新列统计数据。以下示例演示了如何使用 Amazon CLI 更新列统计数据。
            aws glue update-column-statistics-for-table --cli-input-json:
{
    "CatalogId": "111122223333",
    "DatabaseName": "database_name",
    "TableName": "table_name",
    "ColumnStatisticsList": [
        {
            "ColumnName": "col1",
            "ColumnType": "Boolean",
            "AnalyzedTime": "1970-01-01T00:00:00",
            "StatisticsData": {
                "Type": "BOOLEAN",
                "BooleanColumnStatisticsData": {
                    "NumberOfTrues": 5,
                    "NumberOfFalses": 5,
                    "NumberOfNulls": 0
                }
            }
        }
    ]
}