本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立用於 ETL 任務的資料表
您可以使用 Athena 建立 AWS Glue 用於 ETL 任務的資料表。AWS Glue 任務會執行 ETL 操作。AWS Glue 任務會執行指令碼,從來源擷取資料、轉換資料,並將資料載入目標。如需詳細資訊,請參閱《AWS 開發人員指南》中的在 AWS Glue 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 管理主控台,並前往 https://console.aws.amazon.com/glue/
開啟 AWS Glue 主控台。 -
在主控台導覽窗格中,選擇 Tables (資料表)。
-
選擇您想要編輯的資料表連結,然後選擇 Action (動作)、Edit table (編輯資料表)。
-
向下捲動到 Table properties (資料表屬性) 的區段中。
-
選擇新增。
-
在 Key (索引鍵) 欄位,輸入
classification。 -
在 Value (值) 欄位,輸入資料類型 (例如,
json)。 -
選擇儲存。
在 Table details (資料表詳細資訊) 區段中,您輸入的資料類型會顯示在 Classification (分類) 表格的欄位。
如需詳細資訊,請參閱《AWS Glue 開發人員指南》中的使用資料表。
使用 ETL 任務來最佳化查詢效能
AWS Glue 任務可協助您將資料轉換為可將 Athena 中的查詢效能最佳化的格式。資料格式對於 Athena 中的查詢效能和查詢成本有重大影響。
AWS Glue 支援寫入 Parquet 和 ORC 資料格式。您可以使用此功能來轉換資料,以便在 Athena 中使用。如需有關使用 Parquet 和 ORC 以及其他提高效能的方式的詳細資訊,請參閱 Amazon Athena 的十大效能調校秘訣
注意
若要降低 Athena 無法讀取 SMALLINT 及 TINYINT (由 AWS Glue ETL 任務產生的資料類型) 的可能性,請在建立將資料轉換為 ORC 的 ETL 任務時,將 SMALLINT 及 TINYINT 轉換為 INT。
為 ETL 自動化 AWS Glue 任務
您可以將 AWS Glue ETL 任務設定為根據觸發程式自動執行。當您要以其他次佳格式將來自 AWS 外部的資料推送到 Amazon S3 儲存貯體時,此功能是您在 Athena 中查詢時的理想選擇。如需詳細資訊,請參閱《AWS Glue 開發人員指南》中的觸發 AWS Glue 任務。