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.
Halbstrukturierte Daten in Amazon Redshift
Mithilfe der Unterstützung halbstrukturierter Daten in Amazon Redshift können Sie halbstrukturierte Daten in Ihren Amazon Redshift Data Warehouses aufnehmen und speichern. Mithilfe des SUPER-Datentyps und der PartiQL-Sprache erweitert Amazon Redshift die Data-Warehouse-Funktion, um sowohl SQL- als auch NoSQL-Datenquellen zu integrieren. Auf diese Weise ermöglicht Amazon Redshift effiziente Analysen von relationalen und halbstrukturierten gespeicherten Daten wie JSON. Informationen zur Amazon Redshift Redshift-Integration mit PartiQL finden Sie unter. PartiQL — eine SQL-kompatible Abfragesprache für Amazon Redshift
Amazon Redshift bietet zwei Formen der Unterstützung halbstrukturierter Daten: den SUPER-Datentyp und Amazon Redshift Spectrum.
Sie können halbstrukturierte Daten abfragen, indem Sie sie in Amazon Redshift aufnehmen und im SUPER-Datentyp speichern, oder Amazon Redshift Spectrum verwenden, um die in Amazon S3 gespeicherten Daten abzufragen.
Bewährte Methoden für die Arbeit mit halbstrukturierten Daten
Beachten Sie bei der Arbeit mit halbstrukturierten Daten die folgenden bewährten Methoden.
Wir empfehlen, die Konfigurationsoptionen
enable_case_sensitive_super_attribute
und dieenable_case_sensitive_identifier
Konfigurationsoptionen auf true zu setzen, wenn Sie mit SUPER-Daten arbeiten. Weitere Informationen erhalten Sie unter enable_case_sensitive_super_attribute und enable_case_sensitive_identifier.Verwenden Sie den Befehl COPY, um Daten aus Amazon S3 S3-Buckets in Amazon Redshift SUPER-Spalten zu laden.
Verwenden Sie die dynamische PartiQL-Typisierung und die laxe Semantik, um Ad-hoc-Abfragen für SUPER-Datenwerte auszuführen, ohne vor der Abfrage ein Schema auferlegen zu müssen. Hinweise zur dynamischen Typisierung finden Sie unter. Dynamische Typisierung Hinweise zur laxen Semantik finden Sie unter. Lax-Semantik
Zerkleinern Sie schemalose und halbstrukturierte Daten mit PartiQL in materialisierte Ansichten, wenn Sie die Daten häufig abfragen möchten. Wenn Sie Analysen für die aufgeteilten Daten durchführen, bietet die spaltenförmige Organisation der materialisierten Ansichten von Amazon Redshift eine bessere Leistung. Darüber hinaus können Benutzer und Business Intelligence (BI)-Tools, die ein konventionelles Schema für aufgenommene Daten erfordern, Ansichten (entweder materialisiert oder virtuell) als konventionelle Schemadarstellung der Daten verwenden.
Nachdem Ihre mit PartiQL materialisierten Ansichten die in JSON oder SUPER gefundenen Daten in konventionelle spaltenförmige materialisierte Ansichten extrahiert haben, können Sie die materialisierten Ansichten abfragen. Informationen zu materialisierten Ansichten finden Sie unter. Materialisierte Ansichten in Amazon Redshift Weitere Informationen über die Funktionsweise des SUPER-Datentyps mit materialisierten Ansichten finden Sie unter SUPER-Datentyp und materialisierte Ansichten.
Konzepte zur Verwendung des SUPER-Datentyps
Im Folgenden finden Sie einige Konzepte zum SUPER-Datentyp in Amazon Redshift.
Verstehen des SUPER-Datentyps in Amazon Redshift – Der SUPER-Datentyp ist ein Amazon-Redshift-Datentyp, der die Speicherung von schemalosen Arrays und Strukturen ermöglicht, die Amazon-Redshift-Skalare und möglicherweise verschachtelte Arrays und Strukturen enthalten. Der SUPER-Datentyp kann verschiedene Formate halbstrukturierter Daten, wie JSON oder Daten, die aus dokumentenorientierten Quellen stammen, nativ speichern. Sie können eine neue SUPER-Spalte hinzufügen, um halbstrukturierte Daten zu speichern und Abfragen zu schreiben, die auf die SUPER-Spalte zugreifen, zusammen mit den üblichen skalaren Spalten. Weitere Informationen zum SUPER-Datentyp finden Sie unter Typ SUPER.
Schemaloses JSON in SUPER aufnehmen — Mit dem flexiblen halbstrukturierten SUPER-Datentyp kann Amazon Redshift schemaloses JSON empfangen und in Spalten mit dem SUPER-Datentyp aufnehmen. Beispielsweise können Sie den JSON-Wert mithilfe des Befehls COPY [10.5, “first”]
in eine Spalte vom Datentyp SUPER aufnehmen. Die Spalte würde einen SUPER-Wert von [10.5, ‘first’]
enthalten. Sie können JSON auch mit Funktion JSON_PARSE aufnehmen. Sowohl COPY als auch json_parse
erfassen JSON standardmäßig mit strikter Parsing-Semantik. Sie können auch SUPER-Werte einschließlich Arrays und Strukturen erstellen, indem Sie die Datenbankdaten selbst verwenden.
Für die SUPER-Spalte sind keine Schemaänderungen erforderlich, während die flexiblen Strukturen von schemalosem JSON aufgenommen werden. Wenn Sie beispielsweise einen Clickstream analysieren, speichern Sie zunächst in der SUPER-Spalte „Click“-Strukturen mit den Attributen „IP“ und „Zeit“. Sie können ein Attribut „Kunden-ID“ hinzufügen, ohne Ihr Schema zu ändern, um solche Änderungen aufzunehmen.
Das für den SUPER-Datentyp verwendete native Format ist ein Binärformat, das weniger Speicherplatz benötigt als der JSON-Wert in seiner Textform. Dies ermöglicht eine schnellere Erfassung und Laufzeitverarbeitung von SUPER-Werten bei der Abfrage.
SUPER-Daten mit PartiQL abfragen — PartiQL ist eine abwärtskompatible Erweiterung von SQL-92, die derzeit von vielen Diensten verwendet wird. AWS Durch den Einsatz von PartiQL können vertraute SQL-Konstrukte den Zugriff sowohl auf die klassischen, tabellarischen SQL-Daten als auch auf die halbstrukturierten Daten von SUPER nahtlos kombinieren. Sie können Objekt- und Array-Navigation und unnest-Arrays durchführen. PartiQL erweitert die SQL-Standardsprache, um verschachtelte und mehrwertige Daten deklarativ auszudrücken und zu verarbeiten.
PartiQL ist eine Erweiterung von SQL, bei der verschachtelte und schemalose Daten aus SUPER-Spalten als First-Class-Objekte gelten. PartiQL erfordert nicht, dass alle Abfrageausdrücke bei der Abfragekompilierung typgeprüft werden. Mit diesem Ansatz können Abfrageausdrücke, die den SUPER-Datentyp enthalten, während der Abfrageausführung dynamisch typisiert werden, wenn auf die tatsächlichen Datentypen innerhalb der SUPER-Spalten zugegriffen wird. Außerdem arbeitet PartiQL in einem Lax-Modus, in dem Typ-Inkonsistenzen keine Fehler verursachen, sondern Nullwerte zurückgeben. Die Kombination aus schemaloser und laxer Abfrageverarbeitung macht PartiQL ideal für ELT-Anwendungen (Extrahieren, Laden, Transformieren), bei denen Ihre SQL-Abfrage die JSON-Daten auswertet, die in den SUPER-Spalten aufgenommen werden.
Weitere Informationen zu PartiQL für Amazon Redshift finden Sie unter. PartiQL — eine SQL-kompatible Abfragesprache für Amazon Redshift Informationen zur dynamischen Typisierung finden Sie unter. Dynamische Typisierung Informationen zur laxen Abfrageverarbeitung finden Sie unterLax-Semantik.
Integration mit Redshift Spectrum – Amazon Redshift unterstützt mehrere Aspekte von PartiQL beim Ausführen von Redshift-Spectrum-Abfragen über JSON, Parquet und andere Formate, die verschachtelte Daten aufweisen. Redshift Spectrum unterstützt nur verschachtelte Daten mit Schemata. Mit Redshift Spectrum können Sie beispielsweise deklarieren, dass Ihre JSON-Daten das Attribut nested_schemaful_example
im Schema ARRAY<STRUCT<a:INTEGER, b:DECIMAL(5,2)>>
haben. Das Schema dieses Attributs bestimmt, dass die Daten immer ein Array enthalten, das eine Struktur mit Integer a und Dezimalwert b enthält. Wenn sich die Daten so ändern, dass sie weitere Attribute enthalten, ändert sich auch der Typ. Im Gegensatz dazu benötigt der SUPER-Datentyp kein Schema. Sie können Arrays mit Strukturelementen speichern, die unterschiedliche Attribute oder Typen haben. Werte können auch außerhalb von Arrays gespeichert werden.
Überlegungen zur Verwendung von Daten vom Typ SUPER
Bei der Arbeit mit SUPER-Daten sollten Sie Folgendes berücksichtigen:
Verwenden Sie JDBC-Treiberversion 2.x, ODBC-Treiberversion 2.x oder Amazon Redshift Python-Treiberversion 2.0.872 oder höher. Die ODBC-Treiberversion 1.x wird nicht unterstützt.
Informationen zu JDBC-Treibern finden Sie unter Configuring a connection for JDBC driver version 2.x for Amazon Redshift im Amazon Redshift Management Guide.
Informationen zu ODBC-Treibern finden Sie unter Configuring a connection for ODBC driver version 2.x for Amazon Redshift im Amazon Redshift Management Guide.
Informationen zu Python-Treibern finden Sie unter Amazon Redshift Python Connector im Amazon Redshift Management Guide.
Weitere Informationen zu SUPER-Konfigurationen finden Sie unter SUPER-Konfigurationen.