建立 ETL 任務的資料表 - Amazon Athena

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

建立 ETL 任務的資料表

您可以使用 Athena 建立 AWS Glue 可用於 ETL 任務的資料表。 AWS Glue jobs 會執行 ETL 操作。 AWS Glue 任務會執行指令碼,從來源擷取資料、轉換資料,並將其載入目標。如需詳細資訊,請參閱《 AWS Glue 開發人員指南》中的在 AWS Glue 中編寫任務

為 AWS Glue ETL 任務建立 Athena 資料表

您在 Athena 中建立的資料表必須新增一個資料表屬性,稱為 classification,它可以識別資料格式。這可讓 AWS Glue 對 ETL 任務使用資料表。分類值可以是 avrocsvjsonorcparquetxml。Athena 中的 CREATE TABLE 陳述式範例如下所示:

CREATE EXTERNAL TABLE sampleTable ( column1 INT, column2 INT ) STORED AS PARQUET TBLPROPERTIES ( 'classification'='parquet')

如果在建立classification資料表時未新增資料表屬性,您可以使用 AWS Glue 主控台新增它。

使用 AWS Glue 主控台新增分類表屬性
  1. 登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/glue/ 開啟 AWS Glue 主控台。

  2. 在主控台導覽窗格中,選擇 Tables (資料表)。

  3. 選擇您想要編輯的資料表連結,然後選擇 Action (動作)、Edit table (編輯資料表)。

  4. 向下捲動到 Table properties (資料表屬性) 的區段中。

  5. 選擇新增

  6. Key (索引鍵) 欄位,輸入 classification

  7. Value (值) 欄位,輸入資料類型 (例如,json)。

  8. 選擇 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 任務所產生的 SMALLINTTINYINT 資料類型的可能性,請在建立將資料轉換為 ORC 的 ETL 任務TINYINTINT時,將 SMALLINT和 轉換為 。

自動化 ETL AWS Glue 的任務

您可以設定 AWS Glue ETL 任務根據觸發條件自動執行。此功能非常適合將來自外部的資料 AWS 推送到 Athena 中查詢的其他次佳格式的 Amazon S3 儲存貯體。如需詳細資訊,請參閱《 AWS Glue 開發人員指南》中的觸發 AWS Glue 任務