Wie lade ich effizient Daten von Amazon S3 in Amazon Redshift?

Lesedauer: 2 Minute
0

Ich möchte große Datenmengen aus Amazon Simple Storage Service (Amazon S3) in Amazon Redshift laden und eine optimale Leistung aufrechterhalten.

Kurzbeschreibung

Um Daten aus Amazon S3 zu den Amazon Redshift-Tabellen hinzuzufügen, kannst du den Befehl INSERT oder COPY verwenden. Es empfiehlt sich jedoch, den Befehl COPY zu verwenden, da er effizienter ist. COPY verwendet die Massively Parallel Processing (MPP)-Architektur, um gleichzeitig Daten aus Dateien in einem S3-Bucket zu laden.

Weitere Methoden zur Verwendung findest du unter Daten in Amazon Redshift laden.

Lösung

Einen KOPIEREN-Befehl ausführen

Führe nur einen COPY-Befehl aus, um eine Tabelle zu laden. Wenn du mehrere COPY-Befehle gleichzeitig verwenden, um eine Tabelle aus mehreren Dateien zu laden, führt Amazon Redshift einen serialisierten Ladevorgang durch und wird möglicherweise langsamer.

Datendateien vorbereiten

Um den COPY-Befehl effizient verwenden zu können, musst du auch die Datendateien vorbereiten. Die Anzahl der Dateien und ihre Größe wirken sich auf die Parallelverarbeitungsfunktionen aus.

Wenn du im COPY-Befehl mehrere Dateien angibst, lädt Amazon Redshift die Daten parallel. Um die Datendateien vorzubereiten, stelle sicher, dass sie ungefähr die gleiche Größe haben und zwischen 1 MB und 1 GB liegen.

Für einen von Redshift bereitgestellten Cluster empfiehlt es sich, eine Anzahl von Dateien zu verwenden, die ein Vielfaches der Anzahl der Segmente ist. Für Amazon Redshift Serverless ist es eine bewährte Methode, eine Zahl von Dateien zu verwenden, die ein Vielfaches von 128 ist. Weitere Informationen findest du unter Datendateien laden.

Führe die folgende Abfrage aus, um die Anzahl der Segmente für einen von Redshift bereitgestellten Cluster abzurufen:

select count(*) from STV_SLICES where type = 'D';

**Hinweis:**Wenn du im COPY-Befehl eine unkomprimierte CSV-, Parquet- oder ORC-Datei angibst, teilt Amazon Redshift Dateien auf, die größer als 128 MB sind.

COPY-Befehlsstatus überwachen

Um den Status des COPY-Befehls anzuzeigen, kannst du die Systemtabellen überprüfen.

Die Systemtabellen zeichnen die COPY-Befehlsdetails auf, einschließlich der Anzahl der Dateien, der Dateigröße und der Anzahl der geladenen Zeilen. Du kannst die Tabellen überwachen, um mögliche Leistungsverbesserungen und die Ursache für einen COPY-Befehlsfehler zu ermitteln.

Weitere Informationen zum COPY-Befehl findest du unter SYS_LOAD_HISTORY und SYS_LOAD_DETAIL.

Weitere Informationen zu COPY-Befehlsfehlern findest du unter SYS_LOAD_ERROR_DETAIL.

Ähnliche Informationen

Bewährte Methoden für Amazon Redshift für das Laden von Daten

Laden von Tabellen mit dem COPY-Befehl

Laden von Daten aus komprimierten und unkomprimierten Dateien

AWS OFFICIALAktualisiert vor 2 Monaten