自 2025 年 11 月 1 日起,Amazon Redshift 將不再支援建立新的 Python UDFs。如果您想要使用 Python UDFs,請在該日期之前建立 UDFs。現有的 Python UDFs將繼續如常運作。如需詳細資訊,請參閱部落格文章
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SUPER 類型
使用 SUPER 資料類型將半結構化資料或文件儲存為值。雖然 Amazon Redshift 能夠使用 VARCHAR 儲存這類值,但我們建議您改用 SUPER 資料類型。
半結構化資料不符合 SQL 資料庫中使用的關聯式資料模型的剛性和表格式結構。它包含參考資料中不同實體的標籤。它們可以包含複雜值,例如陣列、巢狀結構,以及與序列化格式相關聯的其他複雜結構,例如 JSON。SUPER 資料類型是一組無結構描述陣列和結構值,包含 Amazon Redshift 的所有其他純量類型。
SUPER 資料類型支援個別 SUPER 物件最多 16 MB 的資料。如需 SUPER 資料類型的相關資訊,包括在資料表中的實作範例,請參閱Amazon Redshift 中的半結構化資料。
Amazon Redshift 提供內建支援,可使用 COPY 命令擷取下列半結構化資料格式:
JSON
ARRAY
TEXT
CSV
大於 1MB 的 SUPER 物件只能從下列檔案格式中擷取:
-
Parquet
-
JSON
-
TEXT
-
CSV
SUPER 資料類型具有下列屬性:
-
Amazon Redshift 純量值:
-
Null
-
布林值
-
數字,例如 smallint、integer、bigint、decimal 或浮點數 (例如 float4 或 float8)
-
字串值,如 varchar 或 char
-
-
複雜值:
-
值的陣列,包括純量或複雜
-
一種結構,也稱為元組或物件,它是屬性名稱和值 (純量或複雜) 的映射
-
這兩種類型的複雜值中的任何一種都包含它們自己的純量或複雜值,而沒有任何正規性限制。
SUPER 資料類型的預設壓縮編碼為 ZSTD。如需壓縮編碼的詳細資訊,請參閱 壓縮編碼。
SUPER 資料類型支援以無結構描述形式保留半結構化資料。儘管階層式資料模型可能會發生變化,但舊版本的資料可以共存於同一 SUPER 欄中。
Amazon Redshift 使用 PartiQL 啟用陣列和結構的導覽功能。Amazon Redshift 也會使用 PartiQL 語法來迭代 SUPER 陣列。如需詳細資訊,請參閱PartiQL – Amazon Redshift 的 SQL 相容查詢語言。
Amazon Redshift 會使用動態類型來處理無結構描述的 SUPER 資料,無需在查詢中使用資料類型之前先宣告資料類型。如需詳細資訊,請參閱動態類型。
您可以將動態資料遮罩政策套用至 SUPER 類型資料欄路徑上的純量值。如需動態資料遮罩的詳細資訊,請參閱 動態資料遮罩。如需將動態資料遮罩與 SUPER 資料類型搭配使用的詳細資訊,請參閱 搭配 SUPER 資料類型路徑使用動態資料遮罩。
建議您在使用 SUPER 資料時,將r_enable_case_sensitive_super_attribute
組態選項設定為 true。如需詳細資訊,請參閱enable_case_sensitive_super_attribute。