隨需產生資料欄統計資料
您可以隨需執行 AWS Glue Data Catalog 資料表任務的資料欄統計資料任務,無需設定排程。這選項對於臨機操作分析或在需要立即計算統計資料時非常有用。
請依照下列步驟,使用 AWS Glue 主控台或 AWS CLI 隨需產生 Data Catalog 資料表的資料欄統計資料。
- AWS Management Console
-
使用主控台產生資料欄統計資料
-
登入 AWS Glue 主控台,請前往:https://console.aws.amazon.com/glue/。
-
選擇 Data Catalog 資料表。
-
從清單中選擇資料表。
-
選擇動作功能表下方的產生統計資料。
您也可以選擇資料表頁面下半部分的資料欄統計資料索引標籤下的產生、隨需產生選項。
遵循 根據排程產生資料欄統計資料 中的步驟 7-11 來產生資料表的資料欄統計資料。
-
在產生統計資料頁面中,指定下列選項:
-
所有資料欄:選擇此選項可產生資料表中所有資料欄的統計資料。
-
選取的資料欄:選擇此選項可產生特定資料欄的統計資料。您可以從下拉式清單中選取資料欄。
-
IAM 角色:選擇 建立新的 IAM 角色,該角色具有執行資料欄統計資料產生任務所需的許可政策。選擇「檢視許可詳細資訊」以檢閱政策聲明。您也可以從清單中選取 IAM 角色。如需所需許可的詳細資訊,請參閱產生資料欄統計資料的先決條件。
AWS Glue 會擔任您指定的角色的許可,以產生統計資料。
如需為 AWS Glue 提供角色的詳細資訊,請參閱適用於 AWS Glue 的以身分為基礎的政策。
-
(選用) 接著,選擇安全組態,針對日誌啟用靜態加密。
-
範例資料列:僅從資料表中選擇特定的資料列百分比以產生統計資料。預設值為所有資料列。使用向上和向下箭頭以增加或減少百分比值。
我們建議在資料表中包含所有資料列,以計算準確的統計資料。只有在接受近似值時,才使用範例資料列產生資料欄統計資料。
選擇產生統計資料以執行任務。
- 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
此命令會啟動任務,以為指定的資料表產生資料欄統計資料。
隨需更新資料欄統計資料
維護最新資料欄統計資料對於查詢最佳化工具產生有效的執行計畫至關重要,可確保改善查詢效能、減少資源消耗,以及改善整體系統效能。在重大資料變更 (例如大量載入或大量修改) 後,此流程尤其重要,因為這可能會使現有統計資料過時。
您需要從 AWS Glue 主控台明確執行產生統計資料任務,以重新整理資料欄統計資料。Data Catalog 不會自動重新整理統計資料。
如果您沒有在主控台中使用 AWS Glue 的統計資料產生功能,可以使用 UpdateColumnStatisticsForTable 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
}
}
}
]
}