View a markdown version of this page

Das S3-optimized EMRFS-Commit-Protokoll und mehrteilige Uploads - Amazon EMR

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.

Das S3-optimized EMRFS-Commit-Protokoll und mehrteilige Uploads

Um die Optimierung für dynamisches Überschreiben von Partitionen im S3-optimized EMRFS-Commit-Protokoll nutzen zu können, müssen mehrteilige Uploads in Amazon EMR aktiviert sein. Mehrteilige Uploads sind standardmäßig aktiviert. Sie können diese Option bei Bedarf erneut aktivieren. Weitere Informationen finden Sie unter Konfigurieren von mehrteiligen Uploads für Amazon S3 im Verwaltungshandbuch für Amazon EMR.

Beim dynamischen Überschreiben von Partitionen verwendet das S3-optimized EMRFS-Commit-Protokoll die transaktionsähnlichen Eigenschaften von mehrteiligen Uploads, um sicherzustellen, dass Dateien, die durch Taskversuche geschrieben wurden, beim Commit des Jobs nur am Ausgabespeicherort des Auftrags erscheinen. Durch die Verwendung von mehrteiligen Uploads auf diese Weise verbessert das Commit-Protokoll die Leistung von Auftrags-Commits im Vergleich zum Standard-SQLHadoopMapReduceCommitProtocol. Bei der Verwendung des S3-optimized EMRFS-Commit-Protokolls sind einige wichtige Unterschiede zum herkömmlichen Verhalten bei mehrteiligen Uploads zu berücksichtigen:

  • Mehrteilige Uploads werden immer ausgeführt, unabhängig von der Dateigröße. Dies unterscheidet sich vom Standardverhalten von EMRFS, bei dem die Eigenschaft fs.s3n.multipart.uploads.split.size die Dateigröße steuert, in der mehrteilige Uploads ausgelöst werden.

  • Mehrteilige Uploads verbleiben für einen längeren Zeitraum in einem Status, in dem sie nicht abgeschlossen sind, bis die Aufgabe übertragen oder abgebrochen wird. Dies unterscheidet sich von der Standard-Verhalten von EMRFS. Dort wird ein mehrteiliger Upload abgeschlossen, wenn eine Aufgabe den Schreibvorgang für eine bestimmte Datei beendet hat.

Aufgrund dieser Unterschiede vergrößert sich bei mehrteiligen Uploads die Wahrscheinlichkeit, dass unvollständige mehrteilige Uploads zurückbleiben, wenn ein Spark Executor JVM abstürzt oder zerstört wird, während Aufgaben ausgeführt oder Daten auf Amazon S3 oder Spark Driver JVM geschrieben werden. Aus diesem Grund sollten Sie bei der Verwendung des S3-optimized EMRFS-Commit-Protokolls unbedingt die bewährten Methoden für den Umgang mit fehlgeschlagenen mehrteiligen Uploads beachten. Weitere Informationen finden Sie unter Bewährte Methoden für die Arbeit mit Amazon-S3-Buckets im Verwaltungshandbuch für Amazon EMR.