

# 管理列统计数据生成计划
<a name="manage-column-stats-schedule"></a>

您可以管理 AWS Glue 中的列统计数据生成计划操作，例如更新、启动、停止和删除计划。您可以使用 AWS Glue 控制台、AWS CLI 或 [AWS Glue 列统计 API 操作](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-column-statistics.html)来执行这些任务。

**Topics**
+ [更新列统计数据生成计划](#update-column-stats-shedule)
+ [停止列统计数据生成计划](#stop-column-stats-schedule)
+ [恢复列统计数据生成计划](#resume-column-stats-schedule)
+ [删除列统计数据生成计划](#delete-column-stats-schedule)

## 更新列统计数据生成计划
<a name="update-column-stats-shedule"></a>

创建列统计数据生成任务后，可以通过更新计划来触发该任务。您可以使用 AWS Glue 控制台、AWS CLI 或运行 [UpdateColumnStatisticsTaskSettings](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-column-statistics.html#aws-glue-api-crawler-column-statistics-UpdateColumnStatisticsTaskSettings) 操作来更新表的计划。您可以修改现有计划的参数，例如计划类型（按需或定期）和其他可选参数。

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

**更新列统计数据生成任务的设置**

1. 通过以下网址登录到 AWS Glue 控制台：[https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)。

1. 从表列表中选择要更新的表。

1. 在“表详细信息”页面的下半部分中，选择**列统计数据**选项卡。

1. 在**操作**下，选择**编辑**以更新计划。

1. 对计划进行所需的更改，然后选择**保存**。

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

 如果您并非通过控制台使用 AWS Glue 的统计数据生成功能，则可以使用 `update-column-statistics-task-settings` 命令手动更新计划。以下示例演示了如何使用 AWS CLI 更新列统计数据。

```
aws glue update-column-statistics-task-settings \ 
 --database-name '{{database_name}}' \ 
 --table-name '{{table_name}}' \ 
 --role arn:aws:iam::{{123456789012}}:role/{{stats_role}} \ 
 --schedule '{{cron(0 0-5 16 * * ?)}}' \ 
 --column-name-list '{{col-1}}' \
 --sample-size '{{20.0}}' \  
 --catalog-id '{{123456789012}}'\
 --security-configuration '{{test-security}}'
```

------

## 停止列统计数据生成计划
<a name="stop-column-stats-schedule"></a>

 如果您不再需要增量统计数据，则可以停止生成计划以节省资源和成本。暂停计划不会影响之前生成的统计数据。您可以随时恢复计划。

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

**停止列统计数据生成任何的计划**

1. 在 AWS Glue 控制台上，选择 Data Catalog 下的**表**。

1. 选择包含列统计数据的表。

1. 在**表详细信息**页面上，选择**列统计数据**。

1. 在**操作**下，依次选择**按计划生成**、**暂停**。

1. 选择**暂停**以进行确认。

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

要使用 AWS CLI 停止列统计任务运行计划，可以使用以下命令：

```
aws glue stop-column-statistics-task-run-schedule \
 --database-name ''{{database_name}}' \
 --table-name '{{table_name}}'
```

请将 `database_name` 和 `table_name` 替换为要为其停止列统计任务运行计划的数据库和表的实际名称。

------

## 恢复列统计数据生成计划
<a name="resume-column-stats-schedule"></a>

 如果您之前暂停了统计数据生成计划，则 AWS Glue 允许您随时恢复该计划。您可以使用 AWS Glue 控制台、AWS CLI 或 [StartColumnStatisticsTaskRunSchedule](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-column-statistics.html#aws-glue-api-crawler-column-statistics-StartColumnStatisticsTaskRunSchedule) 操作恢复计划。

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

**恢复列统计数据生成计划**

1. 在 AWS Glue 控制台上，选择 Data Catalog 下的**表**。

1. 选择包含列统计数据的表。

1. 在**表详细信息**页面上，选择**列统计数据**。

1. 在**操作**下，依次选择**按计划生成**、**恢复**。

1. 选择**恢复**以进行确认。

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

请将 `database_name` 和 `table_name` 替换为要为其停止列统计任务运行计划的数据库和表的实际名称。

```
aws glue start-column-statistics-task-run-schedule \
 --database-name '{{database_name}}' \
 --table-name '{{table_name}}'
```

------

## 删除列统计数据生成计划
<a name="delete-column-stats-schedule"></a>

 尽管为了获得最佳查询性能，通常建议保持统计数据为最新，但在某些特定的使用场景中，删除自动生成计划可能较有助益。
+ 如果数据保持相对静态，则现有的列统计数据可在很长一段时间内保持准确性，减少频繁更新的需求。删除计划可以防止不必要的资源消耗，以及与重新生成未更改数据的统计数据相关的开销。
+ 偏好手动控制统计数据生成时。通过删除自动计划，管理员可以有选择地按特定间隔时间或在数据发生重大更改后更新列统计数据，从而确保流程与其维护政策和资源分配需求保持一致。

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

**删除列统计数据生成计划**

1. 在 AWS Glue 控制台上，选择 Data Catalog 下的**表**。

1. 选择包含列统计数据的表。

1. 在**表详细信息**页面上，选择**列统计数据**。

1. 在**操作**下，依次选择**按计划生成**、**删除**。

1. 选择**删除**以进行确认。

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

请将 `database_name` 和 `table_name` 替换为要为其停止列统计任务运行计划的数据库和表的实际名称。

您可以使用 [DeleteColumnStatisticsTaskSettings](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-column-statistics.html#aws-glue-api-crawler-column-statistics-DeleteColumnStatisticsTaskSettings) API 操作或 AWS CLI 来删除列统计数据生成计划。以下示例演示了如何使用 AWS Command Line Interface（AWS CLI）删除列统计数据生成计划。

```
aws glue delete-column-statistics-task-settings \
    --database-name '{{database_name}}' \
    --table-name '{{table_name}}'
```

------