View a markdown version of this page

建立用於 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 任務使用資料表。分類值可以是 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 主控台新增分類表屬性
  1. 登入 AWS 管理主控台 ,並在 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. 選擇儲存。

    在 Table details (資料表詳細資訊) 區段中,您輸入的資料類型會顯示在 Classification (分類) 表格的欄位。

如需詳細資訊,請參閱《AWS Glue 開發人員指南》中的使用資料表。

使用 ETL 任務來最佳化查詢效能

AWS Glue 任務可協助您將資料轉換為可在 Athena 中最佳化查詢效能的格式。資料格式對於 Athena 中的查詢效能和查詢成本有重大影響。

AWS Glue 支援寫入 Parquet 和 ORC 資料格式。您可以使用此功能來轉換資料,以便在 Athena 中使用。如需有關使用 Parquet 和 ORC 以及其他提高效能的方式的詳細資訊,請參閱 Amazon Athena 的十大效能調校秘訣。

注意

為了降低 Athena 無法讀取 AWS Glue ETL 任務產生的 SMALLINT和 TINYINT 資料類型的可能性,請在建立將資料轉換為 ORC 的 ETL 任務TINYINTINT時,將 SMALLINT和 轉換為 。

自動化 ETL AWS Glue 的任務

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