繁体   English   中英

在现有EMR上运行Scala Spark作业

[英]Running Scala Spark Jobs on Existing EMR

我的机器上运行的是Spark Job Aggregationfinal_2.11-0.1 jar,它的组成如下:

package deploy
    object FinalJob {
      def main(args: Array[String]): Unit = {
        val spark = SparkSession
          .builder()
          .appName(s"${this.getClass.getSimpleName}")
          .config("spark.sql.shuffle.partitions", "4")
          .getOrCreate()

    //continued code
    }
    }

当我在本地模式下运行此代码时,它运行良好,但是当我将其jar放在主节点上时将其部署在EMR群集上时,出现错误为:

ClassNotFoundException : deploy.FinalJob

我在这里想念什么?

最好的选择是将uber jar(可以使用sbt assembly插件来构建jar)部署到s3并向EMR集群添加spark步骤。 请检查: http : //docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark-submit-step.html

尝试将其解压缩到某个文件夹,并使用以下命令jar -xvf myapp.jar查找目标/类。 如果目标类不包含您正在执行的类,则构建jar的方式存在问题。 我建议将maven组装放入包装的pom中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM