Type SUPER - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouveaux Python UDFs à compter du 1er novembre 2025. Si vous souhaitez utiliser Python UDFs, créez la version UDFs antérieure à cette date. Le Python existant UDFs continuera à fonctionner normalement. Pour plus d'informations, consultez le billet de blog.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Type SUPER

Utilisez le type de données SUPER pour stocker des données ou des documents semi-structurés sous forme de valeurs. Bien qu'Amazon Redshift soit capable de stocker de telles valeurs à l'aide de VARCHAR, nous vous recommandons d'utiliser le type de données SUPER à la place.

Les données semi-structurées ne sont pas conformes à la structure rigide et tabulaire du modèle de données relationnel utilisé dans les bases de données SQL. Elles contiennent des balises qui font référence à des entités distinctes dans les données. Elles peuvent contenir des valeurs complexes telles que des tableaux, des structures imbriquées et d’autres structures complexes associées à des formats de sérialisation, tels que JSON. Le type de données SUPER est un ensemble de valeurs de tableau et de structure sans schéma qui englobent tous les autres types scalaires d’Amazon Redshift.

Le type de données SUPER prend en charge jusqu'à 16 Mo de données pour un objet SUPER individuel. Pour plus d’informations sur le type de données SUPER, y compris des exemples d’implémentation dans une table, consultez Données semi-structurées dans Amazon Redshift.

Amazon Redshift fournit un support intégré pour ingérer les formats de données semi-structurés suivants à l'aide de la commande COPY :

  • JSON

  • ARRAY

  • TEXT

  • CSV

Les objets SUPER de plus de 1 Mo ne peuvent être ingérés qu’à partir des formats de fichier suivants :

  • Parquet

  • JSON

  • TEXT

  • CSV

Le type de données SUPER a les propriétés suivantes :

  • Une valeur scalaire Amazon Redshift :

    • Un null

    • Une valeur booléenne

    • Un nombre, par exemple, smallint, entier, bigint, décimal ou virgule flottante (tel que float4 ou float8)

    • Une valeur de chaîne, telle que varchar ou char

  • Une valeur complexe :

    • Un tableau de valeurs, y compris scalaire ou complexe

    • Structure, également appelée tuple ou objet, qui est une carte de noms et de valeurs d’attribut (scalaire ou complexe)

Chacun des deux types de valeurs complexes contient ses propres scalaires ou valeurs complexes sans aucune restriction de régularité.

Le codage de compression par défaut pour le type de données SUPER est ZSTD. Pour plus d'informations sur le codage par compression, consultezencodages de compression.

Le type de données SUPER prend en charge la persistance des données semi-structurées sous une forme sans schéma. Bien que le modèle de données hiérarchique puisse changer, les anciennes versions de données peuvent coexister dans la même colonne SUPER.

Amazon Redshift utilise PartiQL pour activer la navigation dans les tableaux et les structures. Amazon Redshift utilise aussi la syntaxe PartiQL pour itérer dans les tableaux SUPER. Pour de plus amples informations, veuillez consulter partiQL : langage de requête compatible avec SQL pour Amazon Redshift.

Amazon Redshift utilise le typage dynamique pour traiter les données SUPER sans schéma sans avoir à déclarer les types de données avant qu’elles ne soient utilisées dans votre requête. Pour de plus amples informations, veuillez consulter Typage dynamique.

Vous pouvez appliquer des politiques de masquage dynamique des données aux valeurs scalaires sur les chemins des colonnes de type SUPER. Pour plus d’informations sur le masquage dynamique des données, consultez Masquage dynamique des données. Pour en savoir plus sur l’utilisation du masquage dynamique des données avec le type de données SUPER, consultez Utilisation du masquage dynamique des données avec des chemins de type de données SUPER.

Nous vous recommandons de définir l'option r_enable_case_sensitive_super_attribute de configuration sur true lorsque vous travaillez avec des données SUPER. Pour de plus amples informations, veuillez consulter enable_case_sensitive_super_attribute.