Spark Scala:将 Case class 对象添加到数据框
Spark Scala : Add Case class object to dataframe
我创建了一个简单的空数据框
import org.apache.spark.sql.SparkSession
lazy val sess = SparkSession.builder.appName("myapp").enableHiveSupport().getOrCreate()
case class MyClass (id:String, name:String)
val resultDf = sess.emptyDataset[MyClass]
现在,我只想创建一个新对象,并将其附加到数据框。我怎么做?我试过很多东西都失败了
val x = MyClass("123", "zxc")
resultDf.union(x)
<console>:39: error: type mismatch;
found : ValidSignals
required: org.apache.spark.sql.Dataset[ValidSignals]
resultDf.union(x)
如何将对象转换为可以附加到数据框的对象?
union
需要一个 Dataset[_]
作为参数。你需要
val emptyDS = sess.emptyDataset[MyClass]
val resultDS = emptyDS.union(Seq(MyClass("123","abc")).toDS())
resultDS.collect() // Array(MyClass(123,abc))
我创建了一个简单的空数据框
import org.apache.spark.sql.SparkSession
lazy val sess = SparkSession.builder.appName("myapp").enableHiveSupport().getOrCreate()
case class MyClass (id:String, name:String)
val resultDf = sess.emptyDataset[MyClass]
现在,我只想创建一个新对象,并将其附加到数据框。我怎么做?我试过很多东西都失败了
val x = MyClass("123", "zxc")
resultDf.union(x)
<console>:39: error: type mismatch;
found : ValidSignals
required: org.apache.spark.sql.Dataset[ValidSignals]
resultDf.union(x)
如何将对象转换为可以附加到数据框的对象?
union
需要一个 Dataset[_]
作为参数。你需要
val emptyDS = sess.emptyDataset[MyClass]
val resultDS = emptyDS.union(Seq(MyClass("123","abc")).toDS())
resultDS.collect() // Array(MyClass(123,abc))