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.
Arbeiten mit Speicher- und Dateisystemen mit Amazon EMR
Amazon EMR und Hadoop bieten eine Vielzahl von Dateisystemen an, die Sie bei der Verarbeitung von Cluster-Schritten verwenden können. Sie geben über das Präfix des URI an, welches Dateisystem Sie nutzen möchten. Verweist beispielsweise s3://amzn-s3-demo-bucket1/path
auf einen Amazon S3 S3-Bucket, der S3A verwendet (seit Version EMR-7.10.0). In der folgenden Tabelle werden die verfügbaren Dateisysteme sowie Empfehlungen zu ihrer Verwendung aufgeführt.
Amazon EMR und Hadoop verwenden bei der Ausführung eines Clusters normalerweise zwei oder mehr der folgenden Dateisysteme. HDFS und S3A sind die beiden wichtigsten Dateisysteme, die mit Amazon EMR verwendet werden.
Wichtig
Ab Amazon EMR Version 5.22.0 verwendet Amazon EMR AWS Signature Version 4 ausschließlich zur Authentifizierung von Anfragen an Amazon S3. Frühere Amazon EMR-Versionen verwenden in einigen Fällen AWS Signature Version 2, sofern in den Versionshinweisen nicht angegeben ist, dass ausschließlich Signature Version 4 verwendet wird. Weitere Informationen finden Sie unter Authentifizieren von Anfragen (AWS Signature Version 4) und Authentifizieren von Anfragen (AWS Signature Version 2) im Amazon Simple Storage Service Developer Guide.
Dateisystem | Präfix | Beschreibung |
---|---|---|
HDFS | hdfs:// (oder ohne Präfix) |
HDFS ist ein verteiltes, skalierbares und portierbares Dateisystem für Hadoop. Ein Vorteil von HDFS ist, dass die Daten für die Hadoop-Cluster-Knoten zur Verwaltung der Cluster und die Hadoop-Cluster-Knoten für die Verwaltung der einzelnen Schritte bekannt sind. Weitere Informationen finden Sie in der Hadoop-Dokumentation HDFS wird von den Master- und Core-Knoten verwendet. Ein Vorteil ist, dass es schneller ist. Ein Nachteil ist, dass es ein flüchtiger Speicher ist. Dieser wird beim Beenden des Clusters verworfen. Es eignet sich am besten für die Zwischenspeicherung der Ergebnisse von zwischengeschalteten Auftragsverlaufsschritten. |
S3A | s3://, s3a://, s3n:// |
Das Hadoop S3A-Dateisystem ist ein Open-Source-S3-Konnektor, der es Apache Hadoop und seinem Ökosystem ermöglicht, direkt mit dem Amazon S3 S3-Speicher zu interagieren. Es ermöglicht Benutzern das Lesen und Schreiben von Daten in S3-Buckets mithilfe von Hadoop-kompatiblen Dateioperationen und bietet so eine nahtlose Integration zwischen Hadoop-Anwendungen und Cloud-Speicher. AnmerkungVor EMR-7.10.0 verwendete Amazon EMR EMRFS für das Schema s3://und s3n://. |
Lokales Dateisystem |
Das lokale Dateisystem bezieht sich auf einen lokal verbundenen Datenträger. Wenn ein Hadoop-Cluster erstellt wird, wird jeder Knoten aus einer EC2 Instance erstellt, die über einen vorkonfigurierten Block von vorkonfiguriertem Festplattenspeicher verfügt, der als Instance-Speicher bezeichnet wird. Daten auf Instance-Speicher-Volumes bleiben nur während der Lebensdauer der jeweiligen Instanz erhalten. EC2 Instance-Speicher-Volumen eignen sich perfekt für die Speicherung von temporärer Daten, die sich ständig ändern (z. B. Puffer, Caches, Arbeitsdaten und andere temporäre Inhalte). Weitere Informationen finden Sie unter EC2 Amazon-Instance-Speicher. Das lokale Dateisystem wird von HDFS verwendet, aber Python wird auch vom lokalen Dateisystem aus ausgeführt, und Sie können wählen, ob Sie zusätzliche Anwendungsdateien auf Instance-Speicher-Volumes speichern möchten. |
|
Amazon-S3-Block-Dateisystem (veraltet) | s3bfs:// |
Das Amazon-S3-Block-Dateisystem ist ein veraltetes Dateispeichersystem. Es wird ausdrücklich von der Verwendung dieses Systems abgeraten. WichtigWir empfehlen, dass Sie dieses Dateisystem nicht verwenden. Es kann dazu führen, dass der Cluster ausfällt. Möglicherweise ist es jedoch für ältere Anwendungen erforderlich. |
Zugriff auf Dateisysteme
Sie geben über das Präfix des URI (Uniform Resource Identifier) für den Zugriff auf die Daten an, welches Dateisystem Sie nutzen möchten. Die folgenden Verfahren veranschaulichen den Zugriff auf verschiedene Dateisystemarten.
So greifen Sie auf ein lokales HDFS zu
-
Geben Sie in
hdfs:///
-Präfix im URI an. Amazon EMR löst Pfade ohne Präfix im URI für das lokale HDFS auf. Zum Beispiel URIs würden die beiden folgenden Dateien auf denselben Speicherort in HDFS aufgelöst.hdfs:///
path-to-data
/path-to-data
So greifen Sie auf ein Remote-HDFS zu
-
Fügen Sie, wie in den folgenden Beispielen dargestellt, die IP-Adresse des Master-Knotens zum URI hinzu.
hdfs://
master-ip-address
/path-to-data
master-ip-address
/path-to-data
So greifen Sie auf Amazon S3 zu
-
Verwenden Sie den
s3://
-Präfix.s3://
bucket-name
/path-to-file-in-bucket
So greifen Sie auf das Amazon-S3-Block-Dateisystem zu
-
Verwenden Sie dieses Dateisystem nur für ältere Anwendungen, die das Amazon-S3-Block-Dateisystem benötigen. Für den Zugriff auf Daten mit diesem Dateisystem verwenden Sie das
s3bfs://
-Präfix im URI.Das Amazon S3-Blockdateisystem ist ein veraltetes Dateisystem, das zur Unterstützung von Uploads auf Amazon S3 verwendet wurde, die größer als 5 GB waren. Mit der mehrteiligen Upload-Funktion, die Amazon EMR über das AWS Java SDK bereitstellt, können Sie große Dateien in das native Amazon S3 S3-Dateisystem hochladen, und das Amazon S3 S3-Blockdateisystem ist veraltet. Weitere Informationen zum mehrteiligen Upload für EMR finden Sie unter Mehrteiligen Upload für Amazon S3 konfigurieren. Weitere Informationen zu S3-Objektgrößen- und Teilgrößenbeschränkungen finden Sie unter Amazon S3 S3-Beschränkungen für mehrteilige Uploads im Amazon Simple Storage Service-Benutzerhandbuch.
Warnung
Da dieses veraltete Dateisystem zu Beschädigungen führen kann, sollten Sie es vermeiden. Verwenden Sie stattdessen EMRFS.
s3bfs://
bucket-name
/path-to-file-in-bucket