

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

# 根據排程產生資料欄統計資料
<a name="generate-column-stats"></a>

請依照下列步驟，使用 AWS Glue 主控台、 AWS CLI或 [CreateColumnStatisticsTaskSettings](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-column-statistics.html#aws-glue-api-crawler-column-statistics-CreateColumnStatisticsTaskSettings) 操作，在 中 AWS Glue Data Catalog 設定產生資料欄統計資料的排程。

------
#### [ Console ]

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

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

1. 選擇 Data Catalog 資料表。

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

1. 選擇**資料表**頁面下半部分中的**資料欄統計資料**索引標籤。

1. 您也可以在**動作**的**資料欄統計資料**下選擇**按排程產生**。

1. 在**根據排程產生統計資料**頁面上，透過選擇頻率和開始時間來設定執行資料欄統計資料任務的週期性排程。您可以選擇每小時、每日、每週的頻率，或定義 Cron 表達式來指定排程。

   Cron 表達式是代表排程模式的字串，由 6 個以空格分隔的欄位組成：\$1 \$1 \$1 \$1 \$1 <minute> <hour> <day of month> <month> <day of week> <year>。例如，若要每天在午夜執行任務，Cron 表達式會是：0 0 \$1 \$1 ？ \$1

   如需詳細資訊，請參閱 [Cron 表達](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html#CronExpressions)式。  
![\[螢幕擷取畫面顯示可用來產生資料欄統計資料的選項。\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/generate-column-stats-schedule.png)

1. 接著，選擇資料欄選項以產生統計資料。
   + **所有資料欄**：選擇此選項可產生資料表中所有資料欄的統計資料。
   + **選取的資料欄**：選擇此選項可產生特定資料欄的統計資料。您可以從下拉式清單中選取資料欄。

1. 選擇 IAM 角色或建立具有產生 statistics 許可的現有角色。 AWS Glue 會擔任此角色來產生資料欄統計資料。

   更快的方法是讓 AWS Glue 主控台為您建立角色。其建立的角色專門用於產生資料欄統計資料，並包含 `AWSGlueServiceRole` AWS 受管政策加上指定資料來源所需的內嵌政策。

   如果指定現有角色來產生資料欄統計資料，請確定其包含 `AWSGlueServiceRole` 政策或同等政策 (或此政策的縮減版本)，以及必要的內嵌政策。

1. (選用) 接著，選擇安全組態，針對日誌啟用靜態加密。

1. (選用) 您可以透過僅指示資料表中特定百分比的資料列，來選擇範例大小以產生統計資料。預設值為所有資料列。使用向上和向下箭頭以增加或減少百分比值。

   我們建議在資料表中包含所有資料列，以計算準確的統計資料。只有在接受近似值時，才使用範例資料列產生資料欄統計資料。

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

------
#### [ 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-name table_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](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-column-statistics.html#aws-glue-api-crawler-column-statistics-StartColumnStatisticsTaskRun) 操作，以產生資料欄統計資料。

------