

# 优化 Iceberg 表的查询性能
<a name="iceberg-column-statistics"></a>

Apache Iceberg 是一种面向超大型分析数据集的高性能开放表格式。Amazon Glue 支持计算和更新 Iceberg 表中每列的不重复值（NDV）数量。借助这些统计数据，可以为处理大型数据集的数据工程师和科学家提供更好的查询优化、数据管理和性能效率。

 Amazon Glue 会估算 Iceberg 表中每列的不重复值数量，并在 Amazon S3 中将结果存储与 Iceberg 表快照关联的 [Puffin](https://iceberg.apache.org/puffin-spec/) 文件中。Puffin 是一种 Iceberg 文件格式，专用于存储索引、统计数据和草图等元数据。通过将草图存储在与快照关联的 Puffin 文件中，可确保事务处理的一致性和 NDV 统计数据的新鲜度。

您可以使用 Amazon Glue 控制台或 Amazon CLI 来配置运行列统计数据生成任务。启动该进程时，Amazon Glue 将在后台启动一个 Spark 作业并更新 Data Catalog 中的 Amazon Glue 表元数据。您可以使用 Amazon Glue 控制台、Amazon CLI 或通过调用 [GetColumnStatisticsForTable](https://docs.amazonaws.cn/glue/latest/webapi/API_GetColumnStatisticsForTable.html) API 操作来查看列统计数据。

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

**Topics**
+ [生成列统计数据的先决条件](iceberg-column-stats-prereqs.md)
+ [为 Iceberg 表生成列统计数据](iceberg-generate-column-stats.md)
+ [另请参阅](#see-also-iceberg-stats)

## 另请参阅
<a name="see-also-iceberg-stats"></a>
+ [查看列统计数据](view-column-stats.md)
+ [查看列统计数据任务运行](view-stats-run.md)
+ [停止列统计数据任务运行](stop-stats-run.md)
+ [删除列统计数据](delete-column-stats.md)