【问题标题】:How to submit a Scala job to Spark?如何向 Spark 提交 Scala 作业?
【发布时间】:2016-04-13 01:58:16
【问题描述】:

我有一个 Python 脚本,可以通过以下方式提交给 Spark:

/opt/spark/bin/spark-submit --master yarn-client test.py

现在,我尝试以同样的方式提交一个 Scala 程序:

/opt/spark/bin/spark-submit --master yarn-client test.scala

因此,我收到以下错误消息:

Error: Cannot load main class from JAR file:/home/myname/spark/test.scala
Run with --help for usage help or --verbose for debug output

Scala 程序本身只是一个 Hello World 程序:

object HelloWorld {
    def main(args: Array[String]): Unit = {
        println("Hello, world!")
    }
}

我做错了什么?

【问题讨论】:

    标签: scala apache-spark hadoop-yarn


    【解决方案1】:

    对于初学者,您必须创建一个 jar 文件。您不能简单地提交 Scala 源代码。如有疑问,请参阅Getting Started with sbt

    之后只需添加一个指向HelloWorldclass 参数。假设没有包:

    /opt/spark/bin/spark-submit --master yarn-client --class "HelloWorld" path_to.jar
    

    【讨论】:

      【解决方案2】:

      这取决于您使用的集群模式。

      看看通用命令

      ./bin/spark-submit \
        --class <main-class>
        --master <master-url> \
        --deploy-mode <deploy-mode> \
        --conf <key>=<value> \
        ... # other options
        <application-jar> \
        [application-arguments]
      

      对于纱线客户端,

      /opt/spark/bin/spark-submit \
        --class "HelloWorld" your_jar_with_scala_file \
        --master yarn-client
      

      查看 Spark documentation 以获得更好的理解。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-30
        • 1970-01-01
        • 2021-09-18
        • 2017-06-25
        • 2015-09-25
        • 1970-01-01
        相关资源
        最近更新 更多