步驟 1:創建包含巢狀資料的外部資料表 - Amazon Redshift

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

步驟 1:創建包含巢狀資料的外部資料表

若要建立此教學課程的外部資料表,請執行以下命令。

CREATE EXTERNAL TABLE spectrum.customers ( id int, name struct<given:varchar(20), family:varchar(20)>, phones array<varchar(20)>, orders array<struct<shipdate:timestamp, price:double precision>> ) STORED AS PARQUET LOCATION 's3://awssampledbuswest2/nested_example/customers/';

在上述範例中,外部資料表 spectrum.customers 使用 structarray 資料類型來定義具有巢狀資料的資料欄。Amazon Redshift Spectrum 支援查詢 Parquet、ORC、JSON 和 Ion 檔案格式的巢狀資料。LOCATION 參數必須參考包含巢狀資料或檔案的 Amazon S3 資料夾。

注意

Amazon Redshift 不支援 Amazon Redshift 資料表中的複雜資料類型。您只可以對 Redshift Spectrum 外部資料表使用複雜資料類型。

您可以在任何層級將 arraystruct 類型形成巢狀。例如,您可以如以下範例所示定義名為 toparray 的資料欄。

toparray array<struct<nestedarray: array<struct<morenestedarray: array<string>>>>>

您也可以如以下範例中的資料欄 x 所示,將 struct 類型形成巢狀。

x struct<a: string, b: struct<c: integer, d: struct<e: string> > >