Maison >Java >javaDidacticiel >Comment gérer les dépendances des fichiers Spark JAR avec « spark-submit » ?

Comment gérer les dépendances des fichiers Spark JAR avec « spark-submit » ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-18 04:42:02368parcourir

How do I manage Spark JAR file dependencies with

Comprendre la gestion des fichiers Spark JAR avec « spark-submit »

Ajout de fichiers JAR à une tâche Spark

Lors de la soumission d'une tâche Spark à l'aide de « spark -submit", vous disposez de plusieurs options pour ajouter un JAR supplémentaire files :

ClassPath

Des options telles que "--driver-class-path" et "--spark.executor.extraClassPath" sont utilisées pour modifier le ClassPath. L'ajout d'un JAR au ClassPath permet à votre code de rechercher et de charger les classes dans ce JAR.

Caractère de séparation

Le séparateur de plusieurs fichiers JAR dans les paramètres ClassPath dépend du système d'exploitation. Sous Linux, c'est un deux-points (':'), tandis que sous Windows, c'est un point-virgule (';').

Distribution de fichiers

Fichiers JAR ajoutés via "--jars" ou " SparkContext.addJar()" sont automatiquement distribués à tous les nœuds de travail en mode client. En mode cluster, vous devez vous assurer que les fichiers JAR sont accessibles à tous les nœuds via une source externe comme HDFS ou S3. "SparkContext.addFile()" est utile pour distribuer des fichiers sans dépendance.

URI de fichiers acceptés

"spark-submit" accepte les fichiers JAR utilisant divers schémas d'URI, y compris les chemins de fichiers locaux, HDFS , HTTP, HTTPS et FTP.

Copie Emplacement

Les fichiers JAR supplémentaires sont copiés dans le répertoire de travail de chaque SparkContext sur les nœuds de travail, généralement sous "/var/run/spark/work."

Priorité des options

Les propriétés définies directement sur SparkConf ont la priorité la plus élevée, suivies par les indicateurs passés à « spark-submit », puis les options dans "spark-defaults.conf."

Rôles d'options spécifiques

  • --jars, SparkContext.addJar() : ajoute des fichiers JAR mais ne modifie pas ClassPath .
  • --driver-class-path, spark.driver.extraClassPath : ajoute des fichiers JAR au ClassPath du pilote.
  • --driver-library-path, spark.driver.extraLibraryPath : modifie le paramètre de chemin de bibliothèque du pilote.
  • **--conf spark.executor.extraClassPath` : ajoute des fichiers JAR au ClassPath de l'exécuteur.
  • **--conf spark.executor.extraLibraryPath` : modifie le paramètre de chemin de bibliothèque de l'exécuteur.

Options de combinaison

En mode client, c'est Vous pouvez utiliser en toute sécurité plusieurs options pour ajouter des fichiers JAR aux nœuds pilote et travailleur. Cependant, en mode cluster, vous devrez peut-être utiliser des méthodes supplémentaires pour garantir que les fichiers JAR sont disponibles pour tous les nœuds de travail.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn