Laden von Tabellen mit dem Befehl COPY - Amazon Redshift

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 Tabellen mit dem Befehl COPY

Der Befehl COPY nutzt die massive Parallelverarbeitungsarchitektur (Massively Parallel Processing, MPP) von Amazon Redshift, um Daten parallel aus Dateien in Amazon S3, DynamoDB-Tabellen oder Textausgaben von einem oder mehreren Remote-Hosts zu lesen und zu laden.

Bevor Sie sich mit allen Optionen des COPY-Befehls vertraut machen, sollten Sie die grundlegenden Optionen für das Laden von Amazon-S3-Daten erlernen. Das Handbuch Erste Schritte mit Amazon Redshift zeigt eine einfache Verwendung des COPY-Befehls zum Laden von Amazon-S3-Daten über eine IAM-Standardrolle. Details hierzu finden Sie in Schritt 4: Daten aus Amazon S3 in Amazon Redshift laden.

Anmerkung

Es wird nachdrücklich empfohlen, den Befehl COPY zu verwenden, um große Mengen von Daten zu laden. Die Verwendung einzelner INSERT-Anweisungen, um eine Tabelle auszufüllen, kann äußerst langsam sein. Wenn Ihre Daten in anderen Amazon-Redshift-Datenbanktabellen bereits vorhanden sind, können Sie alternativ den Befehl INSERT INTO ... verwenden. SELECT oder CREATE TABLE AS verwenden, um die Leistung zu verbessern. Weitere Informationen finden Sie unter INSERT oder CREATE TABLE AS.

Um Daten aus einer anderen AWS-Ressource zu laden, muss Amazon Redshift zum Zugriff auf die Ressource und zur Ausführung der notwendigen Aktionen berechtigt sein.

Um das Recht zum Laden von Daten in eine Tabelle mittels eines COPY-Befehls zu gewähren oder zu widerrufen, gewähren oder widerrufen Sie das INSERT-Recht.

Ihre Daten müssen das korrekte Format für das Laden in Ihre Amazon-Redshift-Tabelle besitzen. In diesem Abschnitt werden Richtlinien für die Vorbereitung und Verifizierung Ihrer Daten vor dem Laden und für die Validierung einer COPY-Anweisung vor der Ausführung beschrieben.

Um die Informationen in Ihren Dateien zu schützen, können Sie die Datendateien vor dem Hochladen zu Ihrem Amazon S3 Bucket verschlüsseln. COPY entschlüsselt die Daten während des Ladevorgangs. Sie können auch den Zugriff auf die Ladedaten einschränken, indem Sie Benutzern temporäre Sicherheitsanmeldeinformationen bereitstellen. Temporäre Sicherheitsanmeldedaten bieten erweiterte Sicherheit, da sie nur kurzlebig sind und nach ihrem Ablauf nicht erneut verwendet werden können.

Amazon Redshift verfügt über Funktionen, die in COPY integriert sind, damit unkomprimierte, getrennte Daten schnell geladen werden können. Sie können aber die Dateien mittels gzip, lzop, oder bzip2 komprimieren, um während des Hochladens der Dateien Zeit zu sparen.

Wenn die folgenden Schlüsselwörter in der COPY-Abfrage enthalten sind, wird das automatische Aufteilen unkomprimierter Daten nicht unterstützt: ESCAPE, REMOVEQUOTES und FIXEDWIDTH. Das CSV-Schlüsselwort wird jedoch unterstützt.

Damit Ihre Daten während der Übertragung innerhalb der AWS Cloud geschützt sind, verwendet Amazon Redshift für die Kommunikation mit Amazon S3 oder Amazon DynamoDB bei COPY-, UNLOAD-, Sicherungs- und Wiederherstellungsoperationen eine hardwarebeschleunigte SSL-Verbindung.

Wenn Sie Ihre Tabelle direkt aus einer Amazon-DynamoDB-Tabelle laden, können Sie die Menge des von Amazon DynamoDB bereitgestellten Durchsatzes steuern, den Sie nutzen.

Sie können optional mittels COPY die Eingabedaten analysieren und als Teil des Ladeprozesses automatisch optimierte Kompressionskodierungen auf Ihre Tabelle anwenden.