Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊,請參閱部落格文章。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
卸載半結構化資料
使用 Amazon Redshift 可使用包括文字、Apache Parquet、Apache ORC 和 Avro 等多種不同的格式,將半結構化資料從 Amazon Redshift 叢集匯出至 Amazon S3。以下各節將引導您完成在 Amazon Redshift 中設定和執行半結構化資料卸載操作的程序。
- CSV or text formats
-
您可以使用逗號分隔值 (CSV) 或文字格式,將包含 SUPER 資料欄的表格卸載到 Amazon S3。使用導覽和解除巢狀化子句的組合,Amazon Redshift 可用 CSV 或文字格式將 SUPER 資料格式的階層式資料卸載到 Amazon S3。隨後,您可以針對未載入的資料建立外部資料表,並使用 Redshift Spectrum 進行查詢。如需使用 UNLOAD 和所需 IAM 許可的詳細資訊,請參閱UNLOAD。
下列範例會將所有資料從 Amazon Redshift 資料表卸載至 Amazon S3 儲存貯體。
UNLOAD ('SELECT * FROM <redshift_table>')
TO '<S3_bucket>'
IAM_ROLE '<iam_role>'
DELIMITER AS '|'
GZIP
ALLOWOVERWRITE;
與其他使用者定義字串代表 null 值的資料類型不同,Amazon Redshift 會使用 JSON 格式匯出 SUPER 資料欄,並在 JSON 格式決定時將其表示為 null。因此,SUPER 資料欄會忽略 UNLOAD 命令中使用的 NULL [AS] 選項。
- Parquet format
-
您可以將具有 SUPER 資料欄的表格以 Parquet 格式卸載到 Amazon S3。Amazon Redshift 將 Parquet 中的 SUPER 欄表示為 JSON 資料類型。如此就能以 Parquet 表示半結構化資料。您可以使用 Redshift Spectrum 查詢這些欄,或使用 COPY 命令將它們擷取回 Amazon Redshift。如需使用 UNLOAD 和所需 IAM 許可的詳細資訊,請參閱UNLOAD。
下列範例會以 Parquet 格式將所有資料從 Amazon Redshift 資料表卸載至 Amazon S3 儲存貯體。
UNLOAD ('SELECT * FROM <Amazon Redshift_table>')
TO '<S3_bucket>'
IAM_ROLE '<iam_role>'
FORMAT PARQUET;