Typ SUPER - Amazon Redshift

Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting.

Typ SUPER

Verwenden Sie den SUPER-Datentyp, um halbstrukturierte Daten oder Dokumente als Werte zu speichern. Amazon Redshift ist zwar in der Lage, solche Werte mit VARCHAR zu speichern, wir empfehlen jedoch, stattdessen den SUPER-Datentyp zu verwenden.

Halbstrukturierte Daten entsprechen nicht der starren und tabellarischen Struktur des relationalen Datenmodells, das in SQL-Datenbanken verwendet wird. Sie enthalten Tags, die unterschiedliche Entitäten innerhalb der Daten referenzieren. Sie können komplexe Werte wie Arrays, verschachtelte Strukturen und andere komplexe Strukturen enthalten, die Serialisierungsformaten wie JSON zugeordnet sind. Der SUPER-Datentyp ist ein Satz von schemalosen Array- und Strukturwerten, die alle anderen skalaren Typen von Amazon Redshift umfassen.

Der SUPER-Datentyp unterstützt bis zu 16 MB an Daten für ein einzelnes SUPER-Objekt. Weitere Informationen zum SUPER-Datentyp, einschließlich Beispiele für dessen Implementierung in einer Tabelle, finden Sie unter Halbstrukturierte Daten in Amazon Redshift.

Amazon Redshift bietet integrierte Unterstützung für die Aufnahme der folgenden halbstrukturierten Datenformate mit dem Befehl COPY:

  • JSON

  • ARRAY

  • TEXT

  • CSV

SUPER-Objekte, die größer als 1 MB sind, können nur aus den folgenden Dateiformaten aufgenommen werden:

  • Parquet

  • JSON

  • TEXT

  • CSV

Der SUPER-Datentyp hat folgende Eigenschaften:

  • Ein Skalarwert von Amazon Redshift:

    • Ein Nullwert

    • Ein boolescher Wert

    • Eine Zahl, wie z. B. smallint, integer, bigint, decimal oder floating point (z. B. float4 oder float8)

    • Ein Zeichenfolgenwert, z. B. varchar oder char

  • Ein komplexer Wert:

    • Ein Array von Werten, einschließlich skalarer oder komplexer

    • Eine Struktur, auch bekannt als Tupel oder Objekt, die eine Zuordnung von Attributnamen und -werten (skalar oder komplex) darstellt

Jeder der beiden Typen komplexer Werte enthält eigene Skalare oder komplexe Werte ohne Einschränkungen für die Regelmäßigkeit.

Die standardmäßige Komprimierungskodierung für den SUPER-Datentyp ist ZSTD. Weitere Informationen zur Komprimierungskodierung finden Sie unter Kompressionskodierungen.

Der SUPER-Datentyp unterstützt die Persistenz von halbstrukturierten Daten in einer schemalosen Form. Obwohl sich das hierarchische Datenmodell ändern kann, können die alten Datenversionen in derselben SUPER-Spalte nebeneinander existieren.

Amazon Redshift verwendet PartiQL, um die Navigation in Arrays und Strukturen zu ermöglichen. Amazon Redshift verwendet die PartiQL-Syntax auch, um über SUPER-Arrays zu iterieren. Weitere Informationen finden Sie unter PartiQL – eine SQL-kompatible Abfragesprache für Amazon Redshift.

Amazon Redshift verwendet die dynamische Typisierung, um schemalose SUPER-Daten zu verarbeiten, ohne dass die Datentypen deklariert werden müssen, bevor Sie sie in Ihrer Abfrage verwenden. Weitere Informationen finden Sie unter Dynamische Typisierung.

Sie können dynamische Datenmaskierungsrichtlinien auf Skalarwerte in den Pfaden von Spalten des Typs SUPER anwenden. Weitere Informationen zur dynamischen Datenmaskierung finden Sie unter Dynamische Datenmaskierung. Informationen zur Verwendung der dynamischen Datenmaskierung mit dem SUPER-Datentyp finden Sie unter Verwendung dynamischer Datenmaskierung mit Pfaden des Datentyps SUPER.

Wir empfehlen, die Konfigurationsoption r_enable_case_sensitive_super_attribute auf „true“ zu setzen, wenn Sie mit SUPER-Daten arbeiten. Weitere Informationen finden Sie unter enable_case_sensitive_super_attribute.