

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 自動產生資料欄統計資料
<a name="auto-column-stats-generation"></a>

自動產生資料欄統計資料可讓您排程和自動計算 AWS Glue Data Catalog中新資料表的統計資料。在您啟用自動產生統計資料時，Data Catalog 會探索具有特定資料格式 (例如 Parquet、JSON、CSV、XML、ORC、ION 和 Apache Iceberg) 的新資料表，及其個別儲存貯體路徑。使用一次性目錄組態，Data Catalog 會產生這些資料表的統計資料。

 資料湖管理員可以在 Lake Formation 主控台中選取預設目錄，並使用 `Optimization configuration` 選項啟用資料表統計資料，以設定統計資料產生。當您在 Data Catalog 中建立新資料表或更新現有資料表時，Data Catalog 會每週收集 Apache Iceberg 資料表的不同值 (NDV) 數目，以及其他統計資料，例如其他支援檔案格式的 null、最大值、最小值和平均長度。

如果您已在資料表層級設定統計資料產生，或先前已刪除資料表的統計資料產生設定，則這些資料表特定設定優先於自動產生資料欄統計資料的預設目錄設定。

 自動產生統計資料任務會分析資料表中 50% 的記錄，來計算統計資料。自動產生資料欄統計資料可確保 Data Catalog 維護每週指標，以供 Amazon Athena 和 Amazon Redshift Spectrum 等查詢引擎使用，以提高查詢效能並節省潛在成本。它允許使用 AWS Glue APIs或 主控台排程統計資料產生，提供自動化程序，無需手動介入。

**Topics**
+ [啟用目錄層級自動產生統計資料](enable-auto-column-stats-generation.md)
+ [檢視自動資料表層級設定](view-auto-column-stats-settings.md)
+ [停用產生目錄層級資料欄統計資料](disable-auto-column-stats-generation.md)

# 啟用目錄層級自動產生統計資料
<a name="enable-auto-column-stats-generation"></a>

您可以在 Data Catalog 中，為所有新的 Apache Iceberg 資料表和非 OTF 資料表 (Parquet、JSON、CSV、XML、ORC、ION) 格式的資料表啟用自動列統計資料產生。建立資料表後，您也可以手動明確更新資料欄統計資料設定。

 若要更新 Data Catalog 設定以啟用目錄層級，所使用的 IAM 角色必須具有根目錄的 `glue:UpdateCatalog` 許可或 AWS Lake Formation `ALTER CATALOG` 許可。您可以使用 `GetCatalog` API 驗證目錄屬性。

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

**在帳戶層級啟用自動產生資料欄統計資料**

1. 開啟 Lake Formation 主控台，網址為 [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)。

1. 在左側導覽列上，選擇**目錄**。

1. 在**目錄摘要**頁面上，選擇**最佳化組態**下的**編輯**。  
![\[螢幕擷取畫面顯示可用來產生資料欄統計資料的選項。\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/edit-column-stats-auto.png)

1. 在**資料表最佳化組態**頁面上，選擇**為目錄的資料表啟用自動產生統計資料**選項。  
![\[螢幕擷取畫面顯示可用來產生資料欄統計資料的選項。\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/edit-optimization-option.jpg)

1. 選擇現有的 IAM 角色，或建立一個具有執行資料欄統計資料任務所需許可的新角色。

1. 選擇**提交**。

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

您也可以透過 AWS CLI啟用目錄層級統計資料收集。若要使用 設定資料表層級統計資料收集 AWS CLI，請執行下列命令：

```
aws glue update-catalog --cli-input-json '{
    "name": "123456789012",
    "catalogInput": {
        "description": "Updating root catalog with role arn",
        "catalogProperties": {
            "customProperties": {
                "ColumnStatistics.RoleArn": "arn:aws:iam::"123456789012":role/service-role/AWSGlueServiceRole",
                "ColumnStatistics.Enabled": "true"
            }
        }
    }
}'
```

 上述命令呼叫 AWS Glue的 `UpdateCatalog`操作，採用具有下列索引鍵/值對的`CatalogProperties`結構來產生目錄層級統計資料：
+ ColumnStatistics.RoleArn – 用於為產生目錄層級統計資料而觸發的所有任務的 IAM 角色 ARN
+ ColumnStatistics.Enabled – 布林值，指出目錄層級設定是啟用還是停用

------

# 檢視自動資料表層級設定
<a name="view-auto-column-stats-settings"></a>

 啟用目錄層級統計資料收集時，只要透過 或 `UpdateTable` APIs、 AWS 管理主控台 SDK 或 建立或更新 Apache Hive 資料表`CreateTable`或 Apache Iceberg 資料表 AWS Glue 編目程式，就會為該資料表建立同等資料表層級設定。

 啟用產生自動統計資料的資料表必須遵循下列其中一個屬性：
+ 使用開頭為 org.apache.hadoop 且 `TableType` 等於 `EXTERNAL_TABLE` 的 `InputSerdeLibrary`
+ 使用開頭為 `com.amazon.ion` 且 `TableType` 等於 `EXTERNAL_TABLE` 的 `InputSerdeLibrary`
+ 在其參數結構中包含 table\$1type："ICEBERG"。

 建立或更新資料表之後，您可以驗證資料表詳細資訊以確認統計資料產生。`Statistics generation summary` 會顯示 `Schedule` 屬性設定為 `AUTO`，且 `Statistics configuration` 值為 `Inherited from catalog`。Glue 會在內部自動觸發具有下列設定的任何資料表設定。

![\[已套用目錄層級統計資料收集的 Hive 資料表影像，且已收集統計資料。\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/auto-stats-summary.png)


# 停用產生目錄層級資料欄統計資料
<a name="disable-auto-column-stats-generation"></a>

 您可以使用 AWS Lake Formation 主控台、 `glue:UpdateCatalogSettings` API 或 `glue:DeleteColumnStatisticsTaskSettings` API 來停用新資料表的自動資料欄統計資料產生。

**在帳戶層級停用自動產生資料欄統計資料**

1. 開啟 Lake Formation 主控台，網址為 [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)。

1. 在左側導覽列上，選擇**目錄**。

1. 在**目錄摘要**頁面上，選擇**最佳化組態**下的**編輯**。

1. 在**資料表最佳化組態**頁面上，取消選取**為目錄的資料表啟用自動產生統計資料**選項。

1. 選擇**提交**。