【发布时间】:2018-07-30 08:41:52
【问题描述】:
在 Spark 版本 1.*
创建如下 emptyRDD:
var baseDF = hiveContextVar.createDataFrame(sc.emptyRDD[Row], baseSchema)
迁移到 Spark 2.0 时(由于 hiveContext 已被弃用,使用 sparkSession)
试过了:
var baseDF = sparkSession.createDataFrame(sc.emptyRDD[Row], baseSchema)
虽然出现以下错误:
org.apache.spark.SparkException: 只有一个 SparkContext 可能正在运行 在这个 JVM 中(参见 SPARK-2243)
有没有办法使用 sparkSession 创建 emptyRDD?
【问题讨论】:
-
这不是导致错误的原因。您的代码中的其他内容是!
-
您似乎尝试使用两个 spark 上下文(sparkSession 和 sc),这就是您收到错误的原因。
-
确实@Shaido OP 陷入了惰性计算陷阱,但目前发布的代码不会导致给出的错误。
标签: apache-spark rdd apache-spark-2.2