

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

# 將半結構化結構描述轉換為具有 AWS Glue 的關聯式結構描述
<a name="schema-relationalize"></a>

您很可能會想將半結構化資料轉換為關聯式資料表。在概念上，這是將階層式結構描述展平為關聯式結構描述。AWS Glue 可以迅速為您執行此轉換作業。

半結構化資料通常包含用以識別資料內實體的標記。這種資料有巢狀資料結構，而無固定式結構描述。如需半結構化資料的詳細資訊，請參閱 Wikipedia 的 [Semi-structured data](https://en.wikipedia.org/wiki/Semi-structured_data) (半結構化資料)。

關聯式資料即為列和欄組成的資料表。資料表之間的關係可以用主金鑰 (PK) 至外部金鑰 (FK) 的關係表示。如需詳細資訊，請參閱 Wikipedia 的 [Relational database](https://en.wikipedia.org/wiki/Relational_database) (關聯式資料庫)。

AWS Glue 使用爬蟲程式推斷半結構化資料的結構描述。接著，資料會藉由擷取、轉換和載入 (ETL) 任務轉換為關聯式結構描述。例如，您可能想將 Amazon Simple Storage Service (Amazon S3) 來源檔案的 JSON 資料剖析為 Amazon Relational Database Service (Amazon RDS) 資料表。了解 AWS Glue 如何處理結構描述之間的差異，可協助您了解轉換程序。

此圖表說明 AWS Glue 如何將半結構化結構描述轉換為關聯式結構描述。

![\[從半結構化轉換為關聯式結構描述之流程圖。\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/HowItWorks-schemaconversion.png)


此圖展示了以下要點：
+ 單值 `A` 直接轉換為關聯式欄。
+ `B1` 和 `B2` 值對轉換為兩個關聯式欄。
+ 結構 `C` 以及子結構 `X` 和 `Y` 轉換為兩個關聯式欄。
+ 陣列 `D[]` 轉換為關聯式欄以及指向另一個關聯式資料表的外部金鑰 (FK)。除了主金鑰 (PK)，第二個關聯式資料表還有包含陣列項目之位移和值的欄位。