SUPER タイプ - Amazon Redshift

Amazon Redshift は、2025 年 11 月 1 日以降、新しい Python UDF の作成をサポートしなくなります。Python UDF を使用する場合は、その日付より前に UDF を作成してください。既存の Python UDF は引き続き通常どおり機能します。詳細については、ブログ記事を参照してください。

SUPER タイプ

SUPER データ型を使用して、半構造化データまたはドキュメントを値として保存します。Amazon Redshift は VARCHAR を使用してこのような値を保存できますが、代わりに SUPER データ型を使用することをお勧めします。

半構造化データは、SQL データベースで使用されるリレーショナルデータモデルの厳密な表形式の構造に準拠していません。これには、データ内の個別のエンティティを参照するタグが含まれます。配列やネストされた構造体、JSON などのシリアル化形式に関連付けられているその他の複雑な構造体などの複雑な値を含めることができます。SUPER データ型は、Amazon Redshift の他のスカラー型をすべて含む一連のスキーマレス配列と構造体の値です。

SUPER データ型は、SUPER オブジェクトごとに最大 16 MB のデータをサポートします。SUPER データ型の詳細 (テーブルへの実装例を含む) については、「Amazon Redshift の半構造化データ」を参照してください。

Amazon Redshift は、COPY コマンドを使用して次の半構造化データ形式を取り込むための組み込みサポートを提供します。

  • JSON

  • 配列

  • TEXT

  • CSV

1 MB を超える SUPER オブジェクトは、以下のファイル形式からのみ取り込むことができます。

  • Parquet

  • JSON

  • TEXT

  • CSV

SUPER データ型には、以下のプロパティがあります。

  • Amazon Redshift のスカラー値:

    • null

    • ブール型

    • smallint、integer、bigint、decimal、または浮動小数点 (float4 や float8) などの数値

    • varchar や char などの文字列値

  • 複雑な値:

    • スカラーまたは複素数を含む値の配列

    • タプルまたはオブジェクトとも呼ばれる構造体。属性名と値 (スカラーまたは複合体) のマップです。

2 種類の複素数値のいずれにも、規則性の制限なしに、独自のスカラーまたは複素数値が含まれています。

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」を参照してください。