因此,我的初始架构如下所示:
root
|-- database: String
|-- table: String
|-- data: struct (nullable = true)
| |-- element1: Int
| |-- element2: Char
该show()
结果有一个数据列的丑陋与[null,2,3]
等
我想做的是将数据结构放入其自己的数据帧中,这样我就可以将嵌套的json的数据散布在各列之间,但类似:
val dfNew = df.select("data")
当我使用show()
而不是架构(element1, element2)
等指定的多个列时,只会真正让我获得相同的总列。
有没有办法做到这一点?
像这样?
case class Data(element1: Int, element2: String)
val df = sqlContext.createDataFrame(sc.parallelize(Array(
(1, Data(12312, "test"))))).toDF("i", "data")
df.select(col("data.element1"), col("data.element2"))
或这个?
df.select(col("data.*"))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句