Typ SUPER - Amazon Redshift

Amazon Redshift wird UDFs ab dem 1. November 2025 die Erstellung von neuem Python nicht mehr unterstützen. Wenn Sie Python verwenden möchten UDFs, erstellen Sie das UDFs vor diesem Datum liegende. Bestehendes Python UDFs wird weiterhin wie gewohnt funktionieren. Weitere Informationen finden Sie im Blogbeitrag.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Typ SUPER

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

Semistrukturierte 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 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 Standardkomprimierungskodierung für den SUPER-Datentyp ist ZSTD. Weitere Informationen zur Komprimierungscodierung finden Sie unterKompressionskodierungen.

Der SUPER-Datentyp unterstützt die Persistenz halbstrukturierter Daten in schemaloser 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 vom Typ 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 r_enable_case_sensitive_super_attribute Konfigurationsoption auf true zu setzen, wenn Sie mit SUPER-Daten arbeiten. Weitere Informationen finden Sie unter enable_case_sensitive_super_attribute.