【发布时间】:2018-03-28 02:37:12
【问题描述】:
我有这样的源数据:
{A:123,B:"Hello world",C:[{D:123,E:"Spark"}]}
我有一个对象:
case class TestClass (A:Int;B:String;C:???)
val obj:Dataset[TestClass] = df.as[TestClass]
我应该如何定义C的类型?
【问题讨论】:
标签: scala apache-spark dataset
我有这样的源数据:
{A:123,B:"Hello world",C:[{D:123,E:"Spark"}]}
我有一个对象:
case class TestClass (A:Int;B:String;C:???)
val obj:Dataset[TestClass] = df.as[TestClass]
我应该如何定义C的类型?
【问题讨论】:
标签: scala apache-spark dataset
一个选项
case class Nested(D: Long, E: String)
case class TestClass (A: Long, B:String, C: Seq[Nested])
用法:
spark.read.json(sc.parallelize(
Seq("""{"A": 123, "B": "Hello world", "C": [{"D": 123, "E": "Spark"}]}"""
))).as[TestClass].show
+---+-----------+-------------+
| A| B| C|
+---+-----------+-------------+
|123|Hello world|[[123,Spark]]|
+---+-----------+-------------+
【讨论】: