COPY aus Amazon EMR - Amazon Redshift

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.

COPY aus Amazon EMR

Sie können den COPY-Befehl verwenden, um Daten parallel aus einem Amazon-EMR-Cluster zu laden, das für das Schreiben von Textdateien zum Hadoop Distributed File System (HDFS) in Form von Dateien mit fester Breite, von durch Zeichen getrennten Dateien, von CSV-Dateien, von JSON-Dateien oder von Avro-Dateien konfiguriert wurde.

Syntax

FROM 'emr://emr_cluster_id/hdfs_filepath' authorization [ optional_parameters ]

Beispiel

Im folgenden Beispiel werden Daten aus einem Amazon-EMR-Cluster geladen.

copy sales from 'emr://j-SAMPLE2B500FC/myoutput/part-*' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole';

Parameter

FROM

Die Quelle der Daten, die geladen werden sollen.

'emr://emr_cluster_id/hdfs_file_path'

Der eindeutige Bezeichner für den Amazon-EMR-Cluster und den HDFS-Dateipfad, der die Datendateien für den COPY-Befehl referenziert. Die HDFS-Datendateinamen dürfen nicht die Platzhalterzeichen Sternchen (*) und Fragezeichen (?) enthalten.

Anmerkung

Der Amazon-EMR-Cluster muss weiter ausgeführt werden, bis die COPY-Operation abgeschlossen ist. Wenn eine der HDFS-Datendateien vor Abschluss der COPY-Operation geändert oder gelöscht wird, kann dies zu unerwarteten Ergebnissen führen. Es ist auch möglich, dass die COPY-Operation fehlschlägt.

Sie können die Platzhalterzeichen Sternchen (*) und Fragezeichen (?) als Teil des hdfs_file_path-Arguments verwenden, um mehrere zu ladende Dateien anzugeben. Beispielsweise identifiziert 'emr://j-SAMPLE2B500FC/myoutput/part*' die Dateien part-0000, part-0001 usw. Wenn der Dateipfad keine Platzhalterzeichen enthält, wird er als Zeichenfolgeliteral behandelt. Wenn Sie nur einen Ordnernamen angeben, versucht COPY, alle Dateien im Ordner zu laden.

Wichtig

Wenn Sie Platzhalterzeichen oder nur den Ordnernamen verwenden, müssen Sie überprüfen, ob unerwünschte Dateien geladen werden. Einige Prozesse schreiben beispielsweise eine Protokolldatei in den Ausgabeordner.

Weitere Informationen finden Sie unter So laden Sie Daten aus Amazon EMR:.

Autorisierung

Der Befehl COPY benötigt eine Autorisierung, um auf Daten in einer anderen AWS Ressource zuzugreifen, einschließlich in Amazon S3, Amazon EMR, Amazon DynamoDB und Amazon. EC2 Sie können diese Autorisierung erteilen, indem Sie auf eine AWS Identity and Access Management (IAM-) Rolle verweisen, die Ihrem Cluster zugeordnet ist (rollenbasierte Zugriffskontrolle), oder indem Sie die Zugangsdaten für einen Benutzer angeben (schlüsselbasierte Zugriffskontrolle). Um Sicherheit und Flexibilität zu verbessern, wird die Verwendung der IAM-rollenbasierten Zugriffssteuerung empfohlen. Weitere Informationen finden Sie unter Autorisierungsparameter.

Unterstützte Parameter

Sie können für COPY aus Amazon EMR optional die folgenden Parameter angeben:

Nicht unterstützte Parameter

Die folgenden Parameter können Sie für COPY aus Amazon EMR nicht verwenden:

  • ENCRYPTED

  • MANIFEST

  • REGION

  • READRATIO

  • SSH