我使用SBT构建了一个jar文件,并试图扩展到"Hello,world!“上的第一个代码。当我提交这份工作时,它只打印第一个“你好,世界!”并且不打印rdd的减少(应该是30),也不打印“...after.”。当然,如果我在笔记本电脑上运行火花壳,这三个打印程序就能正常工作。任何指针都会很好,我似乎找不到在寻找什么。
import org.apache.spark.sql.SparkSession
import scala.collection.mutable.ListBuffer
import org.apache.log4j.{Level, Logger}
object HelloWorld {
def main(args: Array[String]): Unit = {
println("Hello, world!")
val sc = SparkSession.builder().master("local").getOrCreate().sparkContext
val rdd = sc.parallelize(Array(5, 10, 15))
println(rdd.reduce(_+_))
println("...after...")
}
}我不确定是否需要它,但我的build.sbt文件如下:
name := "HelloWorld"
version := "0.1"
scalaVersion := "2.12.3"
// https://mvnrepository.com/artifact/org.apache.spark/spark-core
libraryDependencies += "org.apache.spark" %% "spark-core" % "3.0.1"
// https://mvnrepository.com/artifact/org.apache.spark/spark-sql
libraryDependencies += "org.apache.spark" %% "spark-sql" % "3.0.1"
// https://mvnrepository.com/artifact/org.apache.spark/spark-graphx
libraryDependencies += "org.apache.spark" %% "spark-graphx" % "3.0.1"
artifactName := { (sv: ScalaVersion, module: ModuleID, artifact: Artifact) => "HelloWorld.jar" }发布于 2022-03-22 23:08:25
中默认的集群管理器是什么?
您可以从代码中删除母版(“local”)并运行,因此当您在星火提交过程中不提供任何参数时,它将在默认集群管理器上运行。
val sc = SparkSession.builder().getOrCreate().sparkContexthttps://stackoverflow.com/questions/71579871
复制相似问题