代码错误从IntelliJ发出,但在Databricks Notebook上运行良好

时间:2019-12-11 22:00:55

标签: scala apache-spark intellij-idea databricks databricks-connect

我在IntelliJ上使用Scala API开发了Spark代码,当我运行此代码时,出现以下错误,但在Databricks笔记本上却运行良好。

我正在使用Databricks Connect将IntelliJ的本地安装连接到Databricks Spark群集。我已连接到群集,并且也能够将作业从IntelliJ提交到群集。 AMOF,除以下内容外,其他所有功能都可以使用。

DBConnect是6.1,Databricks运行时是6.2 从群集导入了jar文件(使用Databricks-connect get-jar-dir),并在项目库中使用jar设置了SBT项目

源代码:

val sparkSession = SparkSession.builder.getOrCreate()
val sparkContext = sparkSession.sparkContext

import sparkSession.implicits._

val v_textFile_read = sparkContext.textFile(v_filename_path)
v_textFile_read.take(2).foreach(println)

错误:

cannot assign instance of scala.Some to field org.apache.spark.rdd.RDD.org$apache$spark$rdd$RDD$$dependencies_ of
type scala.collection.Seq in instance of org.apache.spark.rdd.HadoopRDD

我将RDD阅读器用于文本的原因是,我可以将此输出传递给createDataFrame API。如您所知,createdataframe API将RDD和模式作为输入参数。

步骤1:val v_RDD_textFile_read = sparkContext.textFile(v_filename_path).map(x => MMRSplitRowIntoStrings(x))

第2步:val v_DF_textFile_read = sparkSession.sqlContext.createDataFrame(v_RDD_textFile_read, v_schema)(已编辑

0 个答案:

没有答案