本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Glue 使用多種類型的系統,透過以非常不同方式存放資料的資料系統提供多樣化的界面。本文件將 Glue AWS 類型系統和資料標準變質。
AWS Glue Data Catalog 類型
Data Catalog 是存放於各種資料系統 (中繼存放區) 的資料表和欄位登錄檔。當 AWS Glue 元件,例如 AWS Glue 爬蟲程式和 Glue with Spark AWS 任務,寫入 Data Catalog 時,他們會使用內部類型系統來追蹤欄位類型。這些值會顯示在 Glue AWS 主控台資料表結構描述的資料類型欄中。這種類型的系統是以 Apache Hive 的類型系統為基礎。如需有關 Apache Hive 類型系統的詳細資訊,請參閱 Apache Hive 維基中的類型
驗證、相容性和其他用途
Data Catalog 不會驗證寫入至類型欄位的類型。當 AWS Glue 元件讀取和寫入 Data Catalog 時,它們將彼此相容。 AWS Glue 元件也旨在保持與 Hive 類型的高度相容性。不過, AWS Glue 元件不保證相容於所有 Hive 類型。這可讓您在使用 Data Catalog 中的資料表時,實現與 Athena DDL 等工具互通性。
由於 Data Catalog 不會驗證類型,因此其他服務可能會使用 Data Catalog,透過與 Hive 類型系統或任何其他系統高度符合的系統來追蹤類型。
Glue AWS 中的 Spark 指令碼類型
當 AWS Glue with Spark 指令碼解譯或轉換資料集時,我們會提供 DynamicFrame
,即在指令碼中使用的資料集的記憶體內表示法。DynamicFrame
的目標與 Spark DataFrame
類似 – 其會為您的資料集建模,以便 Spark 可對您的資料排程和執行轉換。我們保證,DynamicFrame
的類型表示法可透過提供 toDF
和 fromDF
方法與 DataFrame
相互相容。
如果可推斷類型資訊或提供給 DataFrame
,除非另有記錄,否則可進行推斷或提供給 DynamicFrame
。當我們針對特定資料格式提供最佳化的讀取器或寫入器時,如果 Spark 可讀取或寫入您的資料,則我們提供的讀取器或寫入器將受到文件限制。如需有關讀取器或寫入器的詳細資訊,請參閱 AWS Glue for Spark 中的輸入與輸出的資料格式選項。
選項類型
DynamicFrames
提供一種機制,用於在資料集中進行欄位建模,該資料集的值可能在磁碟上具有不一致的資料列類型。例如,一個欄位可在某些資料列中保留做為字串存放的數字,而在其他資料列中則保留做為整數存放的數字。這種機制是一種稱為 Choice
的記憶體類型。我們提供轉換,例如 ResolveChoice
方法,以將 Choice 資料欄解析為具體類型。 AWS Glue ETL 不會在正常操作過程中將 Choice 類型寫入 Data Catalog;選擇類型僅存在於資料集的 DynamicFrame 記憶體模型內容中。如需選項類型用量的範例,請參閱 程式碼範例:使用 ResolveChoice、Lambda 和 ApplyMapping 的資料準備。
AWS Glue 爬蟲程式類型
爬蟲程式旨在為您的資料集產生一致、可用的結構描述,然後將其存放在 Data Catalog 中,以用於其他 AWS Glue 元件和 Athena。爬蟲程式根據 Data Catalog 上一節內容 AWS Glue Data Catalog 類型 中所述來處理類型。若要在「選項」類型案例中產生可用的類型,其中一個資料欄包含兩個或多個類型的值,爬蟲程式將會建立 struct
類型來對潛在類型進行建模。