本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立 ETL 任務的資料表
您可以使用 Athena 建立 AWS Glue 可用於 ETL 任務的資料表。 AWS Glue jobs 會執行 ETL 操作。 AWS Glue 任務會執行指令碼,從來源擷取資料、轉換資料,並將其載入目標。如需詳細資訊,請參閱《 AWS Glue 開發人員指南》中的在 AWS Glue 中編寫任務。
為 AWS Glue ETL 任務建立 Athena 資料表
您在 Athena 中建立的資料表必須新增一個資料表屬性,稱為 classification
,它可以識別資料格式。這可讓 AWS Glue 對 ETL 任務使用資料表。分類值可以是 avro
、csv
、json
、orc
、parquet
或 xml
。Athena 中的 CREATE TABLE
陳述式範例如下所示:
CREATE EXTERNAL TABLE sampleTable ( column1 INT, column2 INT ) STORED AS PARQUET TBLPROPERTIES ( 'classification'='parquet')
如果在建立classification
資料表時未新增資料表屬性,您可以使用 AWS Glue 主控台新增它。
使用 AWS Glue 主控台新增分類表屬性
登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/glue/
開啟 AWS Glue 主控台。 -
在主控台導覽窗格中,選擇 Tables (資料表)。
-
選擇您想要編輯的資料表連結,然後選擇 Action (動作)、Edit table (編輯資料表)。
-
向下捲動到 Table properties (資料表屬性) 的區段中。
-
選擇新增。
-
在 Key (索引鍵) 欄位,輸入
classification
。 -
在 Value (值) 欄位,輸入資料類型 (例如,
json
)。 -
選擇 Save (儲存)。
在 Table details (資料表詳細資訊) 區段中,您輸入的資料類型會顯示在 Classification (分類) 表格的欄位。
如需詳細資訊,請參閱《AWS Glue 開發人員指南》中的使用資料表。
使用 ETL 任務來最佳化查詢效能
AWS Glue 任務可協助您將資料轉換為可在 Athena 中最佳化查詢效能的格式。資料格式對於 Athena 中的查詢效能和查詢成本有重大影響。
AWS Glue 支援寫入 Parquet 和 ORC 資料格式。您可以使用此功能來轉換資料,以便在 Athena 中使用。如需使用 Parquet 和 ORC 的詳細資訊,以及改善 Athena 效能的其他方法,請參閱 Amazon Athena 的前 10 大效能調校秘訣
注意
為了降低 Athena 無法讀取 AWS Glue ETL 任務所產生的 SMALLINT
和 TINYINT
資料類型的可能性,請在建立將資料轉換為 ORC 的 ETL 任務TINYINT
INT
時,將 SMALLINT
和 轉換為 。
自動化 ETL AWS Glue 的任務
您可以設定 AWS Glue ETL 任務根據觸發條件自動執行。此功能非常適合將來自外部的資料 AWS 推送到 Athena 中查詢的其他次佳格式的 Amazon S3 儲存貯體。如需詳細資訊,請參閱《 AWS Glue 開發人員指南》中的觸發 AWS Glue 任務。