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
Laden von Daten in Amazon Redshift
Es gibt mehrere Möglichkeiten, Daten in eine Amazon-Redshift-Datenbank zu laden. Eine verbreitete Quelle, aus der Daten geladen werden, sind Amazon-S3-Dateien. In der folgenden Tabelle werden einige der Methoden zusammengefasst, die Sie verwenden können, um mit einer Amazon-S3-Quelle zu starten.
| Zu verwendende Methode | Beschreibung | Wenn eine Methode erforderlich ist |
|---|---|---|
Befehl COPY |
Führt eine Batchdatei-Erfassung durch, um Daten aus Ihren Amazon-S3-Dateien zu laden. Diese Methode nutzt die Parallelverarbeitungsfunktionen von Amazon Redshift. Weitere Informationen finden Sie unter Laden von Tabellen mit dem Befehl COPY. |
Sie sollte verwendet werden, wenn Basisanforderungen zum Laden von Daten erforderlich sind, um die manuelle Erfassung von Batchdateien einzuleiten. Diese Methode wird hauptsächlich für benutzerdefinierte und Drittanbieter-Pipelines für die Dateierfassung oder für einmalige oder Ad-hoc-Workloads zur Dateierfassung verwendet. |
COPY... Befehl CREATE JOB (automatisches Kopieren) |
Führt Ihre COPY-Befehle automatisch aus, wenn eine neue Datei auf verfolgten Amazon-S3-Pfaden erstellt wird. Weitere Informationen finden Sie unter Erstellen einer S3-Ereignisintegration, um Dateien automatisch aus Amazon-S3-Buckets zu kopieren. |
Er sollte verwendet werden, wenn eine Dateierfassungs-Pipeline automatisch Daten aufnehmen muss, wenn eine neue Datei in Amazon S3 erstellt wird. Amazon Redshift verfolgt erfasste Dateien, um Datenduplizierungen zu verhindern. Diese Methode erfordert eine Konfiguration durch die Besitzer von Amazon-S3-Buckets. |
Aus Data-Lake-Abfragen laden |
Erstellen Sie externe Tabellen, um Data-Lake-Abfragen für Ihre Amazon-S3-Dateien auszuführen. Führen Sie anschließend den Befehl INSERT INTO aus, um die Ergebnisse Ihrer Data-Lake-Abfragen in lokale Tabellen zu laden. Weitere Informationen finden Sie unter Externe Tabellen für Redshift Spectrum. |
Dies sollte in allen folgenden Szenarien verwendet werden:
|
| Andere Methoden, die Sie in Betracht ziehen können | ||
Streaming-Erfassung |
Die Streaming-Erfassung ermöglicht das Erfassen von Stream-Daten mit geringer Latenz und hoher Geschwindigkeit aus Amazon Kinesis Data Streams und Amazon Managed Streaming für Apache Kafka in einer von Amazon Redshift bereitgestellten Ansicht oder einer materialisierten Amazon-Redshift-Serverless-Ansicht. Weitere Informationen erhalten Sie unter Erste Schritte mit der Streaming-Erfassung aus Amazon Kinesis Data Streams und Erste Schritte mit der Streaming-Aufnahme aus Apache-Kafka-Quellen. |
Sie sollte für Anwendungsfälle in Betracht gezogen werden, in denen Daten zuerst zu Dateien in Amazon S3 gestreamt und dann aus Amazon S3 geladen werden. Wenn keine Aufbewahrung von Daten in Amazon S3 erforderlich ist, können Sie häufig ein direktes Streaming Ihrer Daten in Amazon Redshift in Betracht ziehen. |
Ausführen von Data-Lake-Abfragen |
Die Ausführung von Abfragen direkt aus einer Data-Lake-Tabelle, anstatt den Inhalt der Tabelle in einer lokalen Tabelle zu erfassen. Weitere Informationen finden Sie unter Amazon Redshift Spectrum. |
Diese Methode sollte verwendet werden, wenn der Anwendungsfall nicht die Leistung lokaler Tabellenabfragen in Amazon Redshift erfordert. |
Batch-Laden über Amazon Redshift Query Editor V2 |
Sie können Ihre Workloads für die Batchdatei-Erfassung visuell in Amazon Redshift Query Editor V2 erstellen und ausführen. Weitere Informationen finden Sie unter Laden von Daten aus S3 im Managementleitfaden zu Amazon Redshift. |
Diese Methode sollte verwendet werden, wenn Sie COPY-Anweisungen in Query Editor V2 erstellen und ein visuelles Tool zur Vereinfachung der Erstellung der COPY-Anweisungen verwenden möchten. |
Laden von Daten aus einer lokalen Datei mit Amazon Redshift Query Editor V2 |
Sie können Dateien direkt von Ihrem Desktop zu Amazon-Redshift-Tabellen hochladen, ohne Ihre Dateien manuell zu Amazon S3 hochladen zu müssen. Weitere Informationen finden Sie unter Laden von Daten aus einer lokalen Datei – Einrichtung und Workflow im Managementleitfaden zu Amazon Redshift. |
Diese Methode sollte verwendet werden, wenn Sie schnell von Ihrem lokalen Computer Dateien laden müssen, um einmalige Abfragen auszuführen. Bei Verwendung dieser Methode speichert Amazon Redshift Query Editor V2 die Datei vorübergehend in einem kundeneigenen Amazon-S3-Bucket und führt einen Kopierbefehl unter Verwendung dieses Amazon-S3-Pfads aus. |
Ein COPY-Befehl ist die effizienteste Methode für das Laden einer Tabelle. Sie können Ihren Tabellen Daten auch mittels des Befehls INSERT hinzufügen. Dies ist jedoch sehr viel weniger effizient als die Verwendung von COPY. Der Befehl COPY ist in der Lage, mehrere Datendateien oder mehrere Datenströme gleichzeitig zu lesen. Amazon Redshift teilt den Workload den Amazon-Redshift-Clusterknoten zu und führt die Ladeoperationen parallel aus, einschließlich des Sortierens der Zeilen und der Verteilung von Daten auf die Knoten-Slices.
Anmerkung
Externe Tabellen von Amazon Redshift Spectrum sind schreibgeschützt. Sie können die Befehle COPY oder INSERT nicht für externe Tabellen ausführen.
Um auf Daten in anderen AWS-Ressourcen zuzugreifen, muss Amazon Redshift zum Zugriff auf diese Ressourcen und zur Ausführung der für den Zugriff auf die Daten notwendigen Aktionen berechtigt sein. Sie können AWS Identity and Access Management (IAM) verwenden, um den Zugriff von Benutzern auf Ihre Amazon-Redshift-Ressourcen und -Daten einzuschränken.
Wenn Sie nach dem ersten Laden von Daten eine erhebliche Menge von Daten hinzufügen, verändern oder löschen, sollten Sie anschließend einen VACUUM-Befehl ausführen, um Ihre Daten neu zu organisieren und Platz zurückzugewinnen. Sie sollten auch einen ANALYZE-Befehl ausführen, um die Tabellenstatistiken zu aktualisieren.