

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

# 使用 SQL 查詢轉換資料
<a name="transforms-sql"></a>

您可以使用 **SQL** 轉換來以 SQL 查詢的形式編寫自己的轉換。

SQL 轉換節點可以有多個資料集作為輸入，但只產生一個資料集作為輸出。包含一個文字欄位，您可以在其中輸入 Apache SparkSQL 查詢。您可以將別名指派給每個用作輸入的資料集，以協助簡化 SQL 查詢。如需 SQL 語法的詳細資訊，請參閱 [Spark SQL 文件](https://spark.apache.org/docs/latest/sql-ref.html)。

**注意**  
如果您使用 Spark SQL 轉換搭配位於 VPC 中的資料來源，請新增 AWS Glue VPC 端點至包含資料來源的 VPC。如需設定開發端點的詳細資訊，請參閱 *AWS Glue 開發人員指南*中的[新增開發端點](https://docs.aws.amazon.com/glue/latest/dg/add-dev-endpoint.html)、[設定適用於開發端點的環境](https://docs.aws.amazon.com/glue/latest/dg/start-development-endpoint.html)以及[存取您的開發端點](https://docs.aws.amazon.com/glue/latest/dg/dev-endpoint-elastic-ip.html)。

**在任務圖表中使用 SQL 轉換節點**

1. (選用) 視需要將轉換節點新增至任務圖表。選擇 **Spark Query** 節點類型。
**注意**  
 如果您使用資料預覽工作階段和自訂 SQL 或自訂程式碼節點，資料預覽工作階段會依原樣執行整個資料集的 SQL 或程式碼區塊。

1. 在 **Node properties (節點屬性)** 索引標籤上，輸入任務圖表中節點的名稱。如果尚未選取節點父項，或者如果您想要進行 SQL 轉換的多個輸入，請從 **Node parents (節點父項)** 清單選擇用作轉換之輸入來源的節點。視需要新增其他父節點。

1. 選擇節點詳細資訊面板中的 **Transform (轉換)** 索引標籤。

1. SQL 查詢的來源資料集是由您在每個節點欄位的 **Name (名稱)** 中指定的名稱來識別。如果您不想使用這些名稱，或者名稱不適合 SQL 查詢，您可以將名稱關聯到每個資料集。主控台提供預設別名，例如 `MyDataSource`。

   例如，如果 SQL 轉換節點的父節點名為 `Rename Org PK field`，您可以將名稱 `org_table` 與此資料集相關聯。然後可以在 SQL 查詢中使用此別名來代替節點名稱。

1. 在 **Code block (程式碼區塊)** 標題下的文字輸入欄位，貼上或輸入 SQL 查詢。文字欄位會顯示 SQL 語法反白顯示和關鍵字建議。

1. 選取 SQL 轉換節點後，選擇 **Output schema (輸出結構描述)** 索引標籤，然後選擇 **Edit (編輯)**。提供描述 SQL 查詢輸出欄位的欄和資料類型。

   使用頁面的 **Output schema (輸出結構描述)** 區段中的以下動作指定結構描述：
   + 若要重新命名欄，請將游標放在欄的 **Key (索引鍵)** 文字方塊 (也稱為*欄位*或*屬性索引鍵*)，然後輸入新名稱。
   + 若要變更欄的資料類型，請從下拉式清單中選取欄的新資料類型。
   + 若要將新的頂層欄新增至結構描述，請選擇 [Overflow (溢位)] (![A rectangle with an ellipsis (...) in the center](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/edit-schema-actions-button.png)) 按鈕，然後選擇 **Add root key (新增根索引鍵)**。新的欄會加入在結構描述的頂端。
   + 若要從結構描述移除欄，請選擇索引鍵名稱最右側的刪除圖示 (![An outline of a trash can](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/delete-icon-black.png))。

1. 當您完成指定輸出結構描述時，請選擇 **Apply (套用)** 儲存您的變更，並結束結構描述編輯器。如果您不想儲存變更，請選擇 **Cancel (取消)** 以編輯結構描述編輯器。

1. (選用) 設定節點屬性和轉換屬性之後，您可以選擇節點詳細資訊面板中的 **Data preview (資料預覽)** 索引標籤來預覽修改後的資料集。當您第一次針對任務中的任何節點選擇此索引標籤時，系統會提示您提供 IAM 角色以存取資料。使用此功能需支付相關費用，並且在您提供 IAM 角色後立即開始計費。