Comment puis-je passer du programme-argument à la fonction principale dans la gestion de l'étincelle-envoyer à un BOCAL?
Je sais que c'est une question banale, mais je ne pouvais pas trouver la réponse sur internet.
Je suis en train de lancer une classe Java avec le main
fonction avec des arguments du programme (String[] args
).
Cependant, quand je soumettre le travail à l'aide spark-submit
et programme de laissez-passer des arguments comme je le ferais avec
java -cp <some jar>.jar <Some class name> <arg1> <arg2>
il ne lit pas le arg
s.
La commande j'ai essayé de courir a
bin/spark-submit analytics-package.jar --class full.package.name.ClassName 1234 someargument someArgument
et cela donne
Error: No main class set in JAR; please specify one with --class
et quand j'ai essayé:
bin/spark-submit --class full.package.name.ClassName 1234 someargument someArgument analytics-package.jar
- Je obtenir
Warning: Local jar /mnt/disk1/spark/1 does not exist, skipping.
java.lang.ClassNotFoundException: com.relcy.analytics.query.QueryAnalytics
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.apache.spark.util.Utils$.classForName(Utils.scala:176)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:693)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:183)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:208)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:122)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Comment puis-je passer ces arguments? Ils changent fréquemment sur chaque exécution du travail, et ils doivent être passés en arguments.
Vous êtes censé passer les arguments après le pot. Voir la documentation sur la présentation d'une Étincelle applications: spark.apache.org/docs/latest/submitting-applications.html
OriginalL'auteur Eric Na | 2016-03-16
Vous devez vous connecter pour publier un commentaire.
Arguments passés avant l' .jar fichier sera arguments à la JVM, où sont les arguments après le fichier jar sera répercuter sur les utilisateurs du programme.
Ici,
s
sera égal àsomeargument
, où la-Xms -Xmx
sont passés dans la JVM.OriginalL'auteur Matt Clark
J'ai trouvé le bon de commande de ce tutoriel.
La commande doit être de la forme:
OriginalL'auteur Eric Na