Heim >Java >javaLernprogramm >Wie verwalte ich Spark-JAR-Dateiabhängigkeiten mit „spark-submit'?

Wie verwalte ich Spark-JAR-Dateiabhängigkeiten mit „spark-submit'?

Linda Hamilton
Linda HamiltonOriginal
2024-11-18 04:42:02369Durchsuche

How do I manage Spark JAR file dependencies with

Grundlegendes zur Spark-JAR-Dateiverwaltung mit „spark-submit“

JAR-Dateien zu einem Spark-Job hinzufügen

Beim Senden eines Spark-JAR-Jobs mit „spark -submit“ haben Sie mehrere Möglichkeiten, zusätzliche JAR hinzuzufügen Dateien:

ClassPath

Optionen wie „--driver-class-path“ und „--spark.executor.extraClassPath“ werden zum Ändern des ClassPath verwendet. Durch das Hinzufügen einer JAR zum ClassPath kann Ihr Code die Klassen in dieser JAR finden und laden.

Trennzeichen

Das Trennzeichen für mehrere JAR-Dateien in den ClassPath-Einstellungen hängt vom Betriebssystem ab. Unter Linux ist es ein Doppelpunkt (':'), während es unter Windows ein Semikolon (';') ist.

Dateiverteilung

JAR-Dateien, die über „--jars“ oder „ hinzugefügt werden SparkContext.addJar()“ werden im Client-Modus automatisch an alle Worker-Knoten verteilt. Im Cluster-Modus müssen Sie sicherstellen, dass alle Knoten über eine externe Quelle wie HDFS oder S3 auf die JAR-Dateien zugreifen können. „SparkContext.addFile()“ ist nützlich für die Verteilung nicht abhängiger Dateien.

Akzeptierte Datei-URIs

„spark-submit“ akzeptiert JAR-Dateien mit verschiedenen URI-Schemata, einschließlich lokaler Dateipfade, HDFS , HTTP, HTTPS und FTP.

Kopieren Speicherort

Zusätzliche JAR-Dateien werden in das Arbeitsverzeichnis jedes SparkContext auf Worker-Knoten kopiert, normalerweise unter „/var/run/spark/work“.

Optionspriorität

Eigenschaften, die direkt auf der SparkConf festgelegt werden, haben die höchste Priorität, gefolgt von Flags, die an „spark-submit“ übergeben werden, und dann Optionen in „spark-defaults.conf.“

Spezifische Optionsrollen

  • --jars, SparkContext.addJar(): Fügt JAR-Dateien hinzu, ändert jedoch ClassPath nicht .
  • --driver-class-path, spark.driver.extraClassPath: Fügt JAR-Dateien zum Klassenpfad des Treibers hinzu.
  • --driver-library-path, spark.driver.extraLibraryPath: Ändert die Bibliothekspfadeinstellung des Treibers.
  • **--conf spark.executor.extraClassPath`: Fügt JAR-Dateien zum hinzu Klassenpfad des Executors.
  • **--conf spark.executor.extraLibraryPath`: Ändert die Bibliothekspfadeinstellung des Executors.

Kombinationsoptionen

Im Client-Modus ist dies der Fall Es ist sicher, mehrere Optionen zu verwenden, um JAR-Dateien sowohl zum Treiber- als auch zum Worker-Knoten hinzuzufügen. Im Cluster-Modus müssen Sie jedoch möglicherweise zusätzliche Methoden verwenden, um sicherzustellen, dass die JAR-Dateien für alle Worker-Knoten verfügbar sind.

Das obige ist der detaillierte Inhalt vonWie verwalte ich Spark-JAR-Dateiabhängigkeiten mit „spark-submit'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn