

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

# 建立用於 ETL 任務的資料表
<a name="schema-classifier"></a>

您可以使用 Athena 建立 AWS Glue 可用於 ETL 任務的資料表。 AWS Glue jobs 會執行 ETL 操作。 AWS Glue 任務會執行指令碼，從來源擷取資料、轉換資料，並將其載入目標。如需詳細資訊，請參閱[《 開發人員指南》中的在 AWS Glue 中編寫任務](https://docs.aws.amazon.com/glue/latest/dg/author-job-glue.html)。 *AWS Glue *

## 為 AWS Glue ETL 任務建立 Athena 資料表
<a name="schema-etl-tables"></a>

您在 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/](https://console.aws.amazon.com/glue/) 開啟 AWS Glue 主控台。

1. 在主控台導覽窗格中，選擇 **Tables** (資料表)。

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

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

1. 選擇**新增**。

1. 在 **Key** (索引鍵) 欄位，輸入 **classification**。

1. 在 **Value** (值) 欄位，輸入資料類型 (例如，**json**)。

1. 選擇**儲存**。

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

如需詳細資訊，請參閱《AWS Glue 開發人員指南》**中的[使用資料表](https://docs.aws.amazon.com/glue/latest/dg/console-tables.html)。

## 使用 ETL 任務來最佳化查詢效能
<a name="schema-etl-performance"></a>

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

AWS Glue 支援寫入 Parquet 和 ORC 資料格式。您可以使用此功能來轉換資料，以便在 Athena 中使用。如需有關使用 Parquet 和 ORC 以及其他提高效能的方式的詳細資訊，請參閱 [Amazon Athena 的十大效能調校秘訣](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/)。

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

## 自動化 ETL AWS Glue 的任務
<a name="schema-etl-automate"></a>

您可以設定 AWS Glue ETL 任務根據觸發條件自動執行。當來自外部的資料 AWS 推送至 Amazon S3 儲存貯體時，此功能非常適合在 Athena 中查詢，否則為次佳格式。如需詳細資訊，請參閱《 *AWS Glue 開發人員指南*》中的[觸發 AWS Glue 任務](https://docs.aws.amazon.com/glue/latest/dg/trigger-job.html)。