java – 如何在使用JAR运行spark-submit时将program-argument传递给main函数?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 如何在使用JAR运行spark-submit时将program-argument传递给main函数?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1742字,纯文字阅读大概需要3分钟。
内容图文
我知道这是一个微不足道的问题,但我在互联网上找不到答案.
我试图用程序参数(String [] args)运行带有main函数的Java类.
但是,当我使用spark-submit和pass程序参数提交作业时,就像我一样
java -cp <some jar>.jar <Some class name> <arg1> <arg2>
它没有阅读args.
我试过的命令是
bin/spark-submit analytics-package.jar --class full.package.name.ClassName 1234 someargument someArgument
这给了
Error: No main class set in JAR; please specify one with --class
当我尝试时:
bin/spark-submit --class full.package.name.ClassName 1234 someargument someArgument analytics-package.jar
我明白了
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)
我怎样才能传递这些论点?它们在每次运行时都经常更改,并且需要作为参数传递.
解决方法:
在.jar文件之前传递的参数将是JVM的参数,其中在将jar文件传递给用户程序之后传递参数.
bin/spark-submit --class classname -Xms256m -Xmx1g something.jar someargument
这里,s将等于someargument,而-Xms -Xmx将传递到JVM.
public static void main(String[] args) {
String s = args[0];
}
内容总结
以上是互联网集市为您收集整理的java – 如何在使用JAR运行spark-submit时将program-argument传递给main函数?全部内容,希望文章能够帮你解决java – 如何在使用JAR运行spark-submit时将program-argument传递给main函数?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。