Optionen für die serverlose Architektur von Amazon EMR - 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.

Optionen für die serverlose Architektur von Amazon EMR

Die Befehlssatzarchitektur Ihrer Amazon EMR Serverless-Anwendung bestimmt die Art der Prozessoren, die die Anwendung zur Ausführung des Jobs verwendet. Amazon EMR bietet zwei Architekturoptionen für Ihre Anwendung: x86_64 und arm64. EMR Serverless aktualisiert sich automatisch auf die neueste Generation von Instances, sobald diese verfügbar sind, sodass Ihre Anwendungen die neueren Instances ohne zusätzlichen Aufwand verwenden können.

Verwendung der x86_64-Architektur

Die x86_64-Architektur wird auch als x86 64-Bit oder x64 bezeichnet. x86_64 ist die Standardoption für serverlose EMR-Anwendungen. Diese Architektur verwendet x86-basierte Prozessoren und ist mit den meisten Tools und Bibliotheken von Drittanbietern kompatibel.

Die meisten Anwendungen sind mit der x86-Hardwareplattform kompatibel und können erfolgreich auf der x86_64-Standardarchitektur ausgeführt werden. Wenn Ihre Anwendung jedoch mit 64-Bit-ARM kompatibel ist, können Sie zu arm64 wechseln, um Graviton-Prozessoren für mehr Leistung, Rechenleistung und Speicher zu verwenden. Es kostet weniger, Instanzen auf einer arm64-Architektur auszuführen, als wenn Sie Instanzen gleicher Größe auf einer x86-Architektur ausführen.

Verwendung der Arm64-Architektur (Graviton)

AWS Graviton-Prozessoren wurden speziell AWS mit 64-Bit-ARM-Neoverse-Kernen entwickelt und nutzen die Arm64-Architektur (auch bekannt als Arch64 oder 64-Bit-ARM). Die AWS auf EMR Serverless verfügbaren Graviton-Prozessoren umfassen Graviton3- und Graviton2-Prozessoren. Diese Prozessoren bieten ein hervorragendes Preis-Leistungs-Verhältnis für Spark- und Hive-Workloads im Vergleich zu vergleichbaren Workloads, die auf der x86_64-Architektur ausgeführt werden. EMR Serverless verwendet automatisch die neueste Generation von Prozessoren, sofern verfügbar, ohne dass Sie ein Upgrade auf die neueste Prozessorgeneration vornehmen müssen.

Einführung neuer Anwendungen mit Graviton-Unterstützung

Verwenden Sie eine der folgenden Methoden, um eine Anwendung zu starten, die die Arm64-Architektur verwendet.

AWS CLI

Um eine Anwendung mit Graviton-Prozessoren von aus zu starten AWS CLI, geben Sie dies ARM64 als architecture Parameter in der create-application API an. Geben Sie in den anderen Parametern die entsprechenden Werte für Ihre Anwendung an.

aws emr-serverless create-application \ --name my-graviton-app \ --release-label emr-6.8.0 \ --type "SPARK" \ --architecture "ARM64" \ --region us-west-2
EMR Studio

Um eine Anwendung mit Graviton-Prozessoren von EMR Studio aus zu starten, wählen Sie arm64 als Architekturoption, wenn Sie eine Anwendung erstellen oder aktualisieren.

Konfiguration vorhandener Anwendungen für die Verwendung von Graviton

Sie können Ihre vorhandenen Amazon EMR Serverless-Anwendungen so konfigurieren, dass sie die Graviton-Architektur (arm64) mit dem SDK oder EMR Studio verwenden. AWS CLI

Um eine bestehende Anwendung von x86 nach arm64 zu konvertieren
  1. Vergewissern Sie sich, dass Sie die neueste Hauptversion des AWS CLI/SDK verwenden, die den architecture Parameter unterstützt.

  2. Vergewissern Sie sich, dass keine Jobs ausgeführt werden, und beenden Sie dann die Anwendung.

    aws emr-serverless stop-application \ --application-id application-id \ --region us-west-2
  3. Um die Anwendung ARM64 für die Verwendung von Graviton zu aktualisieren, geben Sie den architecture Parameter in der update-application API an.

    aws emr-serverless update-application \ --application-id application-id \ --architecture 'ARM64' \ --region us-west-2
  4. Verwenden Sie die get-application API, um zu überprüfen ARM64, ob die CPU-Architektur der Anwendung aktuell ist.

    aws emr-serverless get-application \ --application-id application-id \ --region us-west-2
  5. Wenn Sie bereit sind, starten Sie die Anwendung neu.

    aws emr-serverless start-application \ --application-id application-id \ --region us-west-2

Überlegungen zur Verwendung von Graviton

Bevor Sie eine EMR Serverless-Anwendung mit arm64 für Graviton-Unterstützung starten, überprüfen Sie Folgendes.

Bibliothekskompatibilität

Wenn Sie Graviton (arm64) als Architekturoption auswählen, stellen Sie sicher, dass Pakete und Bibliotheken von Drittanbietern mit der 64-Bit-ARM-Architektur kompatibel sind. Informationen zum Packen von Python-Bibliotheken in eine virtuelle Python-Umgebung, die mit der ausgewählten Architektur kompatibel ist, finden Sie unterVerwenden von Python-Bibliotheken mit EMR Serverless.

Weitere Informationen zur Konfiguration eines Spark- oder Hive-Workloads für die Verwendung von 64-Bit-ARM finden Sie im AWS Graviton Getting Started Repository unter. GitHub Dieses Repository enthält wichtige Ressourcen, die Ihnen beim Einstieg in das ARM-basierte Graviton helfen können.