我在我的机器上运行了Spark Job aggregationfinal_2.11-0.1 jar。它的组成如下:
if
当我在本地模式下运行此代码时,它运行正常但是当我在EMR集群上部署它时将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
}
}
我在这里缺少什么?
答案 0 :(得分:0)
最好的选择是将你的uber jar(你可以使用sbt assembly plugin来构建jar)部署到s3并为EMR集群添加spark步骤。请检查:http://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark-submit-step.html
答案 1 :(得分:0)
尝试将其解开到某个文件夹并使用以下命令jar -xvf myapp.jar查找目标/类。如果目标类不包含您正在执行的类,则构建jar的方式存在问题。我会建议maven组装在你的pom包装。