toDF 不是 Seq 的成员,在 Databricks 笔记本中出现此错误
toDF is not a member of Seq, getting this error in Databricks notebook
我正在尝试根据案例 class 创建空 DF,并试图在 Databricks notebook 中执行此操作。但是,如果我使用 object/class 执行此操作,则会出现错误,如果我取出对象定义,则它会成功运行。这是数据块笔记本中的错误还是我需要导入任何东西。
请提出建议。
import org.apache.spark.sql.SparkSession
object Emp {
lazy val spark: SparkSession = SparkSession.builder.getOrCreate()
import spark.implicits._
def emptyDf {
case class Employee(Name: String, Age: Integer, Address: String)
var empDf = Seq.empty[Employee].toDF()
}
}
--Error Message
command-1113195242149456:9: error: value toDF is not a member of Seq[Employee]
var empDf = Seq.empty[Employee].toDF()
我可以通过将案例 class 移到 def 之外来解决问题。
import org.apache.spark.sql.SparkSession
object Emp {
lazy val spark: SparkSession = SparkSession.builder.getOrCreate()
import spark.implicits._
case class Employee(Name: String, Age: Integer, Address: String)
def emptyDf {
var empDf = Seq.empty[Employee].toDF()
}
}
注意:在对象定义之外添加大小写classes,否则在调用对象的方法时会抛出错误。
我正在尝试根据案例 class 创建空 DF,并试图在 Databricks notebook 中执行此操作。但是,如果我使用 object/class 执行此操作,则会出现错误,如果我取出对象定义,则它会成功运行。这是数据块笔记本中的错误还是我需要导入任何东西。 请提出建议。
import org.apache.spark.sql.SparkSession
object Emp {
lazy val spark: SparkSession = SparkSession.builder.getOrCreate()
import spark.implicits._
def emptyDf {
case class Employee(Name: String, Age: Integer, Address: String)
var empDf = Seq.empty[Employee].toDF()
}
}
--Error Message
command-1113195242149456:9: error: value toDF is not a member of Seq[Employee]
var empDf = Seq.empty[Employee].toDF()
我可以通过将案例 class 移到 def 之外来解决问题。
import org.apache.spark.sql.SparkSession
object Emp {
lazy val spark: SparkSession = SparkSession.builder.getOrCreate()
import spark.implicits._
case class Employee(Name: String, Age: Integer, Address: String)
def emptyDf {
var empDf = Seq.empty[Employee].toDF()
}
}
注意:在对象定义之外添加大小写classes,否则在调用对象的方法时会抛出错误。