Wenn ich Amazon EMR verwende, um Daten in Amazon Simple Storage Service (Amazon S3) zu transformieren oder zu verschieben, erscheinen in meinen S3-Buckets mehrere leere Dateien mit dem Suffix „_$folder$“. Was sind diese Dateien und ist es sicher, sie zu löschen?
Behebung
Die „_$folder$“ -Dateien sind Platzhalter. Apache Hadoop erstellt diese Dateien, wenn Sie den Befehl -mkdir verwenden, um einen Ordner in einem S3-Bucket zu erstellen. Hadoop erstellt den Ordner erst, wenn Sie für das erste Objekt PUT ausführen. Wenn Sie die „_$folder$“ -Dateien löschen, bevor Sie mindestens ein Objekt PUT haben, kann Hadoop den Ordner nicht erstellen. Dies führt zu dem Fehler „Keine solche Datei oder kein solches Verzeichnis“.
Im Allgemeinen empfiehlt es sich, die „_$folder$“ -Dateien nicht zu löschen. Dies kann zu Leistungsproblemen für den Amazon EMR-Job führen. Die Ausnahme ist, wenn Sie den Ordner manuell aus Amazon S3 löschen und dann versuchen, den Ordner in einem Amazon EMR-Job oder mit Hadoop-Befehlen neu zu erstellen. Wenn Sie die „_$folder$“-Dateien nicht löschen, bevor Sie versuchen, den Ordner neu zu erstellen, erhalten Sie den Fehler „Datei existiert“.
Verwandte Informationen
Daten auf Amazon S3 hochladen
Konfigurieren Sie einen Ausgabeort