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.
Release-Versionen
Amazon Athena für Apache Spark bietet die folgenden Release-Versionen:
PySpark Engine-Version 3
PySpark Version 3 enthält Apache Spark Version 3.2.1. Mit dieser Version können Sie Spark-Code in Athena-Konsolen-Notebooks ausführen.
Apache Spark Version 3.5
Apache Spark Version 3.5 basiert auf Amazon EMR 7.12 und paketiert Apache Spark Version 3.5.6. Mit dieser Version können Sie Spark-Code vom Amazon SageMaker AI Unified Studio-Notebook oder Ihren bevorzugten kompatiblen Spark-Clients aus ausführen. Diese Version fügt wichtige Funktionen hinzu, um ein verbessertes Erlebnis bei interaktiven Workloads zu bieten:
-
Secure Spark Connect — Fügt Spark Connect als authentifizierten und autorisierten AWS Endpunkt hinzu.
-
Kostenzuweisung auf Sitzungsebene — Benutzer können die Kosten pro interaktiver Sitzung im AWS Cost Explorer oder in Kosten- und Nutzungsberichten verfolgen. Weitere Informationen finden Sie unter Kostenzuweisung auf Sitzungsebene.
-
Erweiterte Debugging-Funktionen — Fügt Live-Spark-UI und Spark History Server-Unterstützung für das Debuggen von Workloads sowohl von Notebooks als auch von APIs Notebooks hinzu. Weitere Informationen finden Sie unter Zugriff auf die Spark-Benutzeroberfläche.
-
Unterstützung für ungefilterten Zugriff — Greifen Sie auf geschützte AWS Glue Datenkatalogtabellen zu, für die Sie über vollständige Tabellenberechtigungen verfügen. Weitere Informationen finden Sie unter Verwenden von Lake Formation mit Athena Spark-Arbeitsgruppen.
Spark-Standardeigenschaften
In der folgenden Tabelle sind Spark-Eigenschaften und ihre Standardwerte aufgeführt, die für SparkConnect Athena-Sitzungen angewendet werden.
| Key (Schlüssel) | Standardwert | Description |
|---|---|---|
|
|
|
Dies ist nicht änderbar. |
|
|
|
|
|
|
|
Die Anzahl der vom Treiber verwendeten Kerne. Dies kann beim ersten Start nicht geändert werden. |
|
|
|
Menge an Speicher, die jeder Treiber verwendet. Dies kann beim ersten Start nicht geändert werden. |
|
|
|
Höhe des Speicheraufwands, der Python-Workloads und anderen Prozessen zugewiesen wurde, die auf dem Treiber ausgeführt werden. Dies kann beim ersten Start nicht geändert werden. |
|
|
|
Die Spark-Treiberdiskette. Dies kann beim ersten Start nicht geändert werden. |
|
|
|
Die Anzahl der Kerne, die jeder Executor verwendet. Dies kann beim ersten Start nicht geändert werden. |
|
|
|
Menge an Speicher, die jeder Treiber verwendet. |
|
|
|
Höhe des Speicher-Overheads, der Python-Workloads und anderen Prozessen zugewiesen wurde, die auf dem Executor ausgeführt werden. Dies kann beim ersten Start nicht geändert werden. |
|
|
|
Die Spark-Executor-Diskette. Dies kann beim ersten Start nicht geändert werden. |
|
|
|
Architektur des Executors. |
|
|
|
Zusätzliche Java-Optionen für den Spark-Treiber. Dies kann beim ersten Start nicht geändert werden. |
|
|
|
Zusätzliche Java-Optionen für den Spark-Executor. Dies kann beim ersten Start nicht geändert werden. |
|
|
|
Die Anzahl der zuzuweisenden Spark-Executor-Container. |
|
|
|
Option, die die dynamische Ressourcenzuweisung aktiviert. Diese Option skaliert die Anzahl der bei der Anwendung registrierten Executoren je nach Arbeitslast nach oben oder unten. |
|
|
|
Die Untergrenze für die Anzahl der Executoren, wenn Sie die dynamische Zuweisung aktivieren. |
|
|
|
Die Obergrenze für die Anzahl der Executoren, wenn Sie die dynamische Zuweisung aktivieren. |
|
|
|
Die anfängliche Anzahl von Executoren, die ausgeführt werden sollen, wenn Sie die dynamische Zuweisung aktivieren. |
|
|
|
Die Zeitspanne, für die ein Executor inaktiv bleiben kann, bevor Spark ihn entfernt. Dies gilt nur, wenn Sie die dynamische Zuweisung aktivieren. |
|
|
|
Wenn DRA aktiviert ist, muss das Shuffle-Tracking aktiviert sein. |
|
|
|
Timeout definiert, wie lange der Spark-Scheduler einen anhaltenden Rückstand an ausstehenden Aufgaben beobachten muss, bevor er eine Anfrage an den Clustermanager auslöst, neue Executors zu starten. |
|
|
|
|
|
|
|
Die Metastore-Implementierungsklasse. AWS Glue |
|
|
|
AWS Glue Katalog-Konto-ID. |
|
|
|
Die Eigenschaft gibt eine durch Kommas getrennte Liste von Paketpräfixen für Klassen an, die von der Anwendung geladen werden sollen und ClassLoader nicht von dem isolierten, für Hive Metastore ClassLoader Client-Code erstellten Code. |
|
|
|
Definiert die Implementierung für den S3-Client zur Verwendung von S3A. |
|
|
|
Definiert die Implementierung für den S3A-Client (S3A). |
|
|
|
Definiert die Implementierung für den Native S3-Client (S3N) zur Verwendung von S3A. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Diese Eigenschaft ermöglicht ein optimiertes Commit-Protokoll für Spark-Jobs beim Schreiben von Daten in Amazon S3. Wenn sie auf true gesetzt ist, hilft sie Spark dabei, kostspielige Operationen zum Umbenennen von Dateien zu vermeiden, was im Vergleich zum standardmäßigen Hadoop-Committer zu schnelleren und zuverlässigeren atomaren Schreibvorgängen führt. |
|
|
|
Diese Konfiguration legt explizit die AWS Region für den Amazon S3 S3-Bucket fest, auf den über den S3A-Client zugegriffen wird. |
|
|
|
Dies gibt das Timeout für die Socket-Verbindung in Millisekunden an. |
|
|
|
Dadurch wird der S3A „Magic“ Committer aktiviert, ein hochperformantes, aber spezifisches Commit-Protokoll, das auf der Unterstützung spezieller Pfade durch den zugrundeliegenden Clustermanager beruht. |
|
|
|
Dies ist nur relevant, wenn der Magic Committer aktiviert ist. Es gibt an, ob die Liste der Dateien, die durch eine Aufgabe übergeben wurden, im Speicher nachverfolgt werden soll, anstatt in temporäre Festplattendateien geschrieben zu werden. |
|
|
|
Mit dieser Einstellung wird explizit der spezifische S3A Output Committer-Algorithmus ausgewählt, der verwendet werden soll (z. B. Verzeichnis, partitioniert oder Magic). Durch Angabe des Namens wählen Sie die Strategie aus, die temporäre Daten verwaltet, Aufgabenausfälle behandelt und den letzten atomaren Commit für den Amazon S3 S3-Zielpfad durchführt. |
|
|
|
Property ermöglicht die Unterstützung von Amazon S3 Access Grants beim Zugriff auf Amazon S3 S3-Daten über den S3A/EMRFS-Dateisystemclient. |
|
|
|
Wenn Amazon S3 Access Grants aktiviert sind, steuert diese Eigenschaft, ob der Amazon S3 S3-Client auf herkömmliche IAM-Anmeldeinformationen zurückgreifen soll, wenn die Suche nach Access Grants fehlschlägt oder keine ausreichenden Berechtigungen bereitstellt. |
|
|
|
Python-Pfad für den Treiber. |
|
|
|
Python-Pfad für den Executor. |
|
|
|
Diese Konfiguration steuert, ob Spark auf jedem Executor einen Python-Worker-Daemon-Prozess verwendet. Wenn diese Option aktiviert ist (true, Standard), hält der Executor den Python-Worker zwischen den Aufgaben am Leben, um den Aufwand zu vermeiden, wiederholt einen neuen Python-Interpreter für jede Aufgabe zu starten und zu initialisieren, wodurch die Leistung von Anwendungen erheblich verbessert wird. PySpark |
|
|
|
Ermöglicht die Verwendung von Apache Arrow zur Optimierung der Datenübertragung zwischen den JVM- und Python-Prozessen in PySpark. |
|
|
|
Konfigurationseigenschaft, die das Verhalten von Spark steuert, wenn bei der Datenübertragung zwischen der JVM und Python mithilfe der Apache Arrow-Optimierung ein Fehler auftritt. |
|
|
|
Konfigurationseigenschaft, die steuert, ob Spark beim Schreiben von Parquet-Dateien in bestimmte Dateisysteme, insbesondere Cloud-Speichersysteme wie Amazon S3, einen optimierten Datei-Committer verwendet. |
|
|
|
Spark-Konfigurationseigenschaft, die den vollqualifizierten Klassennamen des Hadoop OutputCommitter angibt, der beim Schreiben von Parquet-Dateien verwendet werden soll. |
|
|
|
Diese Eigenschaft steuert, ob der Treiber aktiv Spark-Anwendungsressourcen bereinigt, die mit Executoren verknüpft sind, die auf gelöschten oder abgelaufenen Knoten ausgeführt wurden. |
|
|
|
Diese Eigenschaft ermöglicht es der Logik von Spark, Executoren, die derzeit vom Clustermanager außer Betrieb genommen (Graceful Shutdown) werden, automatisch auf eine schwarze Liste zu setzen. Dadurch wird verhindert, dass der Scheduler neue Aufgaben an Executoren sendet, die im Begriff sind, das System zu beenden, wodurch die Stabilität des Jobs während der Ressourcenreduzierung verbessert wird. |
|
|
|
Maximale Zeit, während der Spark wartet, bis eine Aufgabe erfolgreich von einem außer Betrieb genommenen Executor migriert wurde, bevor der Host auf die schwarze Liste gesetzt wird. |
|
|
|
Weist Spark an, nachsichtig zu sein und nicht die gesamte Phase des Versuchs fehlzuschlagen, falls beim Lesen von Shuffle-Daten von einem Executor bei der Außerbetriebnahme ein Abruffehler auftritt. Der Fehlschlag beim Abrufen gilt als behebbar, und Spark ruft die Daten erneut von einem anderen Ort ab (was möglicherweise eine Neuberechnung erfordert). Dabei wird der Ausführung des Jobs Vorrang vor der strikten Fehlerbehandlung bei ordnungsgemäßem Herunterfahren eingeräumt. |
|
|
|
Diese Eigenschaft wird normalerweise intern oder in bestimmten Cluster-Manager-Setups verwendet, um die maximale Gesamtdauer zu definieren, die Spark für die Außerbetriebnahme eines Hosts erwartet. Wenn die tatsächliche Stilllegungszeit diesen Schwellenwert überschreitet, kann Spark aggressive Maßnahmen ergreifen, z. B. den Host auf eine schwarze Liste setzen oder eine erzwungene Kündigung beantragen, um die Ressource freizugeben. |
|
|
|
Wenn eine Aufgabe keine Shuffle- oder RDD-Daten von einem bestimmten Host abrufen kann, weist die Einstellung auf true Spark an, die Registrierung aller mit der fehlgeschlagenen Anwendung verknüpften Ausgabeblöcke auf diesem Host aufzuheben. Dadurch wird verhindert, dass future Aufgaben versuchen, Daten vom unzuverlässigen Host abzurufen, wodurch Spark gezwungen ist, die erforderlichen Blöcke an anderer Stelle neu zu berechnen, was die Robustheit des Jobs gegenüber zeitweiligen Netzwerkproblemen erhöht. |