web-dev-qa-db-fra.com

Comment exécuter des fonctions de jar externes dans spark-shell

J'ai créé un paquet jar à partir d'un projet avec cette arborescence de fichiers:

build.sbt
src/main
src/main/scala
src/main/scala/Tester.scala
src/main/scala/main.scala

où Tester est une classe par une fonction (nom est print ()) et main a un objet à exécuter qui affiche "Hi!" (from spark documentation) a créé avec succès un fichier jar par sbt et a bien fonctionné dans spark-submit

maintenant je veux l'ajouter à spark-shell et utiliser la classe testeur comme classe pour créer des objets et ... j'ai ajouté le fichier jar dans spark-default.conf mais:

scala> val t = new Tester();
<console>:23: error: not found: type Tester
       val t = new Tester();
25
reza

vous pouvez essayer en fournissant des pots avec argument comme ci-dessous

./spark-Shell --jars pathOfjarsWithCommaSeprated

Ou vous pouvez ajouter la configuration suivante dans spark-defaults.conf mais n'oubliez pas de supprimer le modèle de la fin de spark-defaults

spark.driver.extraClassPath  pathOfJarsWithCommaSeprated
36
Sandeep Purohit

Si vous souhaitez ajouter un fichier .jar au chemin de classe après avoir entré spark-Shell, utilisez :require. Comme:

scala> :require /path/to/file.jar
Added '/path/to/file.jar' to classpath.
21
Sam Malayek