使用列统计数据优化查询性能 - AWS Glue

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用列统计数据优化查询性能

您可以为 Parquet、、、、等数据格式的 AWS Glue Data Catalog 表计算列级统计数据 ORC JSON IONCSV,而XML无需设置其他数据管道。借助列统计数据,您可以深入洞察列中的值,从而了解数据特征。

Data Catalog 支持为列值生成统计信息,例如最小值、最大值、总空值、非重复值总计、值的平均长度和真实值的总出现次数。 AWS 诸如 Amazon Redshift 之类的分析服务 Amazon Athena 可以使用这些列统计数据来生成查询执行计划,并选择可提高查询性能的最佳计划。

生成列统计信息有两种方案:

已安排

AWS Glue 支持计划列统计信息生成,因此可以按定期计划自动运行。

通过计划统计数据计算,列统计任务使用新的统计信息更新表级的整体统计信息,例如最小值、最大值和平均值,从而为查询引擎提供准确的统计 up-to-date数据以优化查询执行。

点播

使用此选项可在需要时按需生成列统计信息。这对于临时分析或需要立即计算统计数据时非常有用。

您可以使用 AWS Glue 控制台、 AWS CLI和 AWS Glue API操作配置为运行列统计信息生成任务。启动该过程时,将在后台 AWS Glue 启动 Spark 作业并更新数据目录中的 AWS Glue 表元数据。您可以使用 AWS Glue 控制台 AWS CLI 或通过调用GetColumnStatisticsForTableAPI操作来查看列统计信息。

注意

如果您使用 Lake Formation 权限来控制对表的访问权限,则列统计数据任务代入的角色需要拥有完全的表访问权限才能生成统计数据。

以下视频说明了如何使用列统计信息来提高查询性能。