

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

# 隨需產生資料欄統計資料
<a name="column-stats-on-demand"></a>

您可以隨需執行 AWS Glue Data Catalog 資料表任務的資料欄統計資料任務，無需設定排程。這選項對於臨機操作分析或在需要立即計算統計資料時非常有用。

請依照下列步驟，使用 AWS Glue 主控台 或 產生 Data Catalog 資料表的隨需資料欄統計資料 AWS CLI。

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

**使用主控台產生資料欄統計資料**

1. 在 https：//[https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/) 登入 AWS Glue 主控台。

1. 選擇 Data Catalog 資料表。

1.  從清單中選擇資料表。

1. 選擇**動作**功能表下方的**產生統計資料**。

   您也可以選擇**資料表**頁面下半部分的**資料欄統計資料**索引標籤下的**產生**、**隨需產生**選項。

1. 遵循 [根據排程產生資料欄統計資料](generate-column-stats.md) 中的步驟 7-11 來產生資料表的資料欄統計資料。

1. 在**產生統計資料**頁面中，指定下列選項：  
![螢幕擷取畫面顯示可用來產生資料欄統計資料的選項。](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/generate-column-stats.png)
   + **所有資料欄**：選擇此選項可產生資料表中所有資料欄的統計資料。
   + **選取的資料欄**：選擇此選項可產生特定資料欄的統計資料。您可以從下拉式清單中選取資料欄。
   + **IAM 角色**：選擇 **建立新的 IAM 角色**，該角色具有執行資料欄統計資料產生任務所需的許可政策。選擇「檢視許可詳細資訊」以檢閱政策聲明。您也可以從清單中選取 IAM 角色。如需所需許可的詳細資訊，請參閱[產生資料欄統計資料的先決條件](column-stats-prereqs.md)。

     AWS Glue 會擔任您指定之角色的許可，以產生統計資料。

     如需提供 角色的詳細資訊 AWS Glue，請參閱 [的身分型政策 AWS Glue。](https://docs.aws.amazon.com/glue/latest/dg/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies)
   + (選用) 接著，選擇安全組態，針對日誌啟用靜態加密。
   + **範例資料列**：僅從資料表中選擇特定的資料列百分比以產生統計資料。預設值為所有資料列。使用向上和向下箭頭以增加或減少百分比值。
**注意**  
我們建議在資料表中包含所有資料列，以計算準確的統計資料。只有在接受近似值時，才使用範例資料列產生資料欄統計資料。

   選擇**產生統計資料**以執行任務。

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

此命令會觸發針對指定資料表的資料欄統計資料任務執行。您需要提供資料庫名稱、資料表名稱、具有產生統計資料許可的 IAM 角色，以及選擇性提供統計資料計算的資料欄名稱和範例大小百分比。

```
aws glue start-column-statistics-task-run \ 
    --database-name '{{database_name}} \ 
    --table-name '{{table_name}}' \ 
    --role 'arn:aws:iam::{{123456789012}}:role/{{stats-role}}' \
    --column-name '{{col1}}','{{col2}}'  \
    --sample-size 10.0
```

此命令會啟動任務，以為指定的資料表產生資料欄統計資料。

------

## 隨需更新資料欄統計資料
<a name="update-column-stats-on-demand"></a>

 維護最新資料欄統計資料對於查詢最佳化工具產生有效的執行計畫至關重要，可確保改善查詢效能、減少資源消耗，以及改善整體系統效能。在重大資料變更 (例如大量載入或大量修改) 後，此流程尤其重要，因為這可能會使現有統計資料過時。

您需要從 AWS Glue 主控台明確執行**產生統計資料**任務，以重新整理資料欄統計資料。Data Catalog 不會自動重新整理統計資料。

如果您不是在主控台中使用 AWS Glue統計資料產生功能，則可以使用 [UpdateColumnStatisticsForTable](https://docs.aws.amazon.com/glue/latest/webapi/API_UpdateColumnStatisticsForTable.html) API 操作 或 手動更新資料欄統計資料 AWS CLI。下列範例顯示如何使用 AWS CLI更新資料欄統計資料。

```
aws glue update-column-statistics-for-table --cli-input-json:

{
    "CatalogId": "{{111122223333}}",
    "DatabaseName": "{{database_name}}",
    "TableName": "{{table_name}}",
    "ColumnStatisticsList": [
        {
            "ColumnName": "{{col1}}",
            "ColumnType": "Boolean",
            "AnalyzedTime": "1970-01-01T00:00:00",
            "StatisticsData": {
                "Type": "BOOLEAN",
                "BooleanColumnStatisticsData": {
                    "NumberOfTrues": 5,
                    "NumberOfFalses": 5,
                    "NumberOfNulls": 0
                }
            }
        }
    ]
}
```