【问题标题】:Using spark-submit without --class argument使用不带 --class 参数的 spark-submit
【发布时间】:2014-07-23 21:46:18
【问题描述】:

我是 Spark 和 Scala 的新手,但希望这不是一个多余/愚蠢的问题 - 我还没有找到答案。

我用sbt-assembly 工具编译了一个fat jar,MANIFEST 文件包含MainClass: com.package.MyMainClass 行。但是,spark-submit 仍然要求我使用 --class 参数来定义主类。从this Spark configuration page,我收集到 spark-submit 从conf/spark-defaults.conf 文件中获取其配置详细信息。我的其他属性(spark.masterspark.app.name)似乎在没有命令行参数的情况下加载得很好,但我无法找到在此文件中指定项目主类的方法。我随机尝试过 spark.class main.classclass 之类的东西,但显然在黑暗中刺伤并不顺利。

有什么想法吗?当spark-submit MyJar.jar 如此干净时,我想避免使用非常丑陋的脚本将应用程序部署到集群。谢谢。

【问题讨论】:

    标签: scala apache-spark


    【解决方案1】:

    查看org.apache.spark.deploy.SparkSubmitArguments.scalahere的源代码,它似乎应该选择你的Main-Class清单属性:

    mainClass = jar.getManifest.getMainAttributes.getValue("Main-Class")
    

    我没有对此进行测试,但请尝试将 'MainClass' 替换为 'Main-Class'。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-19
      • 1970-01-01
      • 2022-11-20
      • 2017-03-24
      • 2017-12-05
      • 2019-10-06
      • 2021-04-17
      • 1970-01-01
      相关资源
      最近更新 更多