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.
SUPER-Konfigurationen
Sie können Ihre SUPER-Daten für bestimmte Szenarien konfigurieren. In den folgenden Abschnitten finden Sie Einzelheiten zur Auswahl und Anwendung der geeigneten SUPER-Konfigurationen auf der Grundlage Ihrer Datenformatanforderungen.
Themen
Lax und strenge Modi für SUPER
Wenn Sie SUPER-Daten abfragen, stimmt der Pfadausdruck möglicherweise nicht mit der tatsächlichen SUPER-Datenstruktur überein. Wenn Sie versuchen, auf ein nicht vorhandenes Mitglied eines Objekts oder Elements eines Arrays zuzugreifen, gibt Amazon Redshift einen NULL-Wert zurück, wenn Ihre Abfrage im Standard-Lax-Modus. Wenn Sie Ihre Abfrage im strikten Modus ausführen, gibt Amazon Redshift einen Fehler zurück. Die folgenden Sitzungsparameter können eingestellt werden, um den Lax-Modus ein- oder auszuschalten.
Im folgenden Beispiel werden Sitzungsparameter verwendet, um den Lax-Modus zu aktivieren.
SET navigate_super_null_on_error=ON; --default lax mode for navigation SET cast_super_null_on_error=ON; --default lax mode for casting SET parse_super_null_on_error=OFF; --default strict mode for ingestion
Zugreifen auf JSON-Felder mit Feldnamen oder Attributen in Groß- und Kleinschreibung
Wenn Ihre JSON-Attributnamen in Großbuchstaben oder in gemischter Schreibweise geschrieben sind, müssen Sie in der Lage sein, in Strukturen vom Typ SUPER unter Berücksichtigung der Groß- und Kleinschreibung zu navigieren. Zu diesem Zweck können Sie die Konfiguration auf TRUE konfigurieren und enable_case_sensitive_identifier
die Attributnamen in Großbuchstaben und in gemischter Groß- und Kleinschreibung mit doppelten Anführungszeichen umschließen.
Das folgende Beispiel zeigt, wie Sie enable_case_sensitive_identifier
festlegen, um Daten abzufragen.
SET enable_case_sensitive_identifier to TRUE; -- Accessing JSON attribute names with uppercase and mixed-case names SELECT json_table.data."ITEMS"."Name", json_table.data."price" FROM (SELECT json_parse('{"ITEMS":{"Name":"TV"}, "price": 345}') AS data) AS json_table; Name | price ------+------- "TV" | 345 (1 row) RESET enable_case_sensitive_identifier; -- After resetting the above configuration, the following query accessing JSON attribute names with uppercase and mixed-case names should return null (if in lax mode). SELECT json_table.data."ITEMS"."Name", json_table.data."price" FROM (SELECT json_parse('{"ITEMS":{"Name":"TV"}, "price": 345}') AS data) AS json_table; name | price ------+------- | 345 (1 row)
Parsing-Optionen für SUPER
Wenn Sie die Funktion JSON_PARSE zum Parsing von JSON-Zeichenfolgen in SUPER-Werte verwenden, gelten bestimmte Einschränkungen:
Derselbe Attributname kann nicht in demselben Objekt vorkommen, aber in einem verschachtelten Objekt verwendet werden. Die Konfigurationsoption
json_parse_dedup_attributes
bietet JSON_PARSE die Möglichkeit, nur das letzte Auftreten doppelter Attribute beizubehalten, anstatt einen Fehler zurückzugeben.Zeichenfolgenwerte dürfen die maximale Varchar-Größe des Systems von 65535 Byte nicht überschreiten. Die Konfigurationsoption
json_parse_truncate_strings
bietet JSON_PARSE() die Möglichkeit, Zeichenfolgen, die länger als dieser Grenzwert sind, automatisch zu verkürzen, ohne einen Fehler zurückzugeben. Dieses Verhalten wirkt sich nur auf Zeichenfolgenwerte und nicht auf Attributnamen aus.
Weitere Informationen zur Funktion JSON_PARSE finden Sie unter Funktion JSON_PARSE.
Im folgenden Beispiel wird gezeigt, wie Sie für die Konfigurationsoption json_parse_dedup_attributes
das Standardverhalten, also die Rückgabe eines Fehlers bei doppelten Attributen, festlegen.
SET json_parse_dedup_attributes=OFF; --default behavior of returning error instead of de-duplicating attributes
Im folgenden Beispiel wird gezeigt, wie Sie für die Konfigurationsoption json_parse_truncate_strings
das Standardverhalten, also die Rückgabe eines Fehlers bei Zeichenfolgen, die diesen Grenzwert überschreiten, festlegen.
SET json_parse_truncate_strings=OFF; --default behavior of returning error instead of truncating strings