按计划生成列统计数据
请按照以下步骤,通过 AWS Glue 控制台、AWS CLI 或 CreateColumnStatisticsTaskSettings 操作在 AWS Glue Data Catalog 中配置统计数据生成计划。
- Console
-
使用控制台生成列统计数据
-
通过以下网址登录到 AWS Glue 控制台:https://console.aws.amazon.com/glue/
。 -
选择 Data Catalog 表。
-
从列表中选择一个表。
-
在表页的下半部分选择列统计数据选项卡。
-
您也可以从操作部分的列统计数据下选择按计划生成。
-
在按计划生成统计数据页面上选择频率和开始时间,从而配置运行列统计任务的定期计划。您可以选择每小时、每周、每周,也可以定义 cron 表达式来指定计划。
cron 表达式是一个表示计划模式的字符串,由 6 个字段组成,用空格隔开:* * * * * <minute> <hour> <day of month> <month> <day of week> <year> 例如,要在每天午夜运行任务,cron 表达式将是:0 0 * * ? *
有关更多信息,请参阅 Cron 表达式。
然后选择列选项来生成统计数据。
-
所有列 – 选择此选项可生成表中所有列的统计信息。
-
选定列 – 选择此选项可生成特定列的统计数据。您可以从下拉列表中选择列。
-
选择一个 IAM 角色或创建一个具有统计数据生成权限的现有角色。AWS Glue 会代入该角色来生成列统计数据。
一种更快的方法是让 AWS Glue 控制台为您创建一个角色。通过这种方法创建的角色专用于生成列统计数据,其中包含
AWSGlueServiceRole
AWS 托管式策略以及指定数据来源所需的内联策略。如果您指定一个现有角色用于生成列统计数据,请确保它包含
AWSGlueServiceRole
策略或等效策略(或此策略的范围缩小版本),以及所需的内联策略。-
(可选)然后选择一种安全配置来启用日志静态加密。
-
(可选)在指定样本容量时,您可以指定仅为表中特定百分比的行生成统计数据。默认值为所有行。使用向上和向下箭头可增加或减少百分比值。
我们建议选择表中的所有行,以计算出准确的统计数据。仅在可接受近似值时,才使用样本行来生成列统计数据。
-
选择生成统计数据,以运行列统计数据生成任务。
-
- AWS CLI
-
您可以使用以下 AWS CLI 示例来创建列统计数据生成计划。database-name、table-name 和 role 为必需参数,schedule、column-name-list、catalog-id、sample-size 和 security-configuration 为可选参数。
aws glue create-column-statistics-task-settings \ --database-name '
database_name
' \ --table-nametable_name
\ --role 'arn:aws:iam::123456789012
:role/stats-role
' \ --schedule 'cron(0 0-5 14 * * ?)
' \ --column-name-list 'col-1
' \ --catalog-id '123456789012
' \ --sample-size '10.0
' \ --security-configuration 'test-security
'您还可以通过调用 StartColumnStatisticsTaskRun 操作来生成列统计数据。