[英]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.