Entladen halbstrukturierter Daten - Amazon Redshift

Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im Blog-Posting.

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.

Entladen halbstrukturierter Daten

Mit Amazon Redshift können Sie halbstrukturierte Daten aus Ihrem Amazon-Redshift-Cluster in einer Vielzahl von Formaten, darunter Text, Apache Parquet, Apache ORC und Avro, nach Amazon S3 exportieren. Die folgenden Abschnitte führen Sie durch den Prozess der Konfiguration und Ausführung von Entladevorgängen für Ihre halbstrukturierten Daten in Amazon Redshift.

CSV or text formats

Es ist möglich, Tabellen mit SUPER-Datenspalten in einem CSV- oder Textformat in Amazon S3 zu entladen. Amazon Redshift entlädt hierarchische Daten im SUPER-Datenformat im CSV- oder Textformat mit einer Kombination aus Navigations- und Unnest-Klauseln in Amazon S3. Anschließend können Sie externe Tabellen mit entladenen Daten erstellen und mit Redshift Spectrum abfragen. Informationen zur Verwendung von UNLOAD und den erforderlichen IAM-Berechtigungen finden Sie unter UNLOAD.

Im folgenden Beispiel werden alle Daten aus einer Amazon-Redshift-Tabelle in einen Amazon-S3-Bucket entladen.

UNLOAD ('SELECT * FROM <redshift_table>') TO '<S3_bucket>' IAM_ROLE '<iam_role>' DELIMITER AS '|' GZIP ALLOWOVERWRITE;

Im Gegensatz zu anderen Datentypen, bei denen eine benutzerdefinierte Zeichenfolge einen Nullwert darstellt, exportiert Amazon Redshift die SUPER-Datenspalten im JSON-Format und stellt sie als null dar, wie durch das JSON-Format bestimmt. Daher ignorieren SUPER-Datenspalten die Option NULL [AS], die in UNLOAD-Befehlen verwendet wird.

Parquet format

Sie können Tabellen mit SUPER-Datenspalten im Parquet-Format in Amazon S3 entladen. Amazon Redshift stellt SUPER-Spalten in Parquet als JSON-Datentyp dar. Auf diese Weise können halbstrukturierte Daten in Parquet dargestellt werden. Sie können diese Spalten mit Redshift Spectrum abfragen oder sie mit dem Befehl COPY wieder in Amazon Redshift erfassen. Informationen zur Verwendung von UNLOAD und den erforderlichen IAM-Berechtigungen finden Sie unter UNLOAD.

Das folgende Beispiel entlädt alle Daten aus einer Amazon-Redshift-Tabelle in einen Amazon-S3-Bucket im Parquet-Format.

UNLOAD ('SELECT * FROM <Amazon Redshift_table>') TO '<S3_bucket>' IAM_ROLE '<iam_role>' FORMAT PARQUET;