|-- Ta: array (nullable = true)
| |-- element: struct (containsNull = true)
| | |-- id: string (nullable = true)
| | |-- Tb: array (nullable = true)
| | | |-- element: struct (containsNull = true)
| | | | |-- x: string (nullable = true)
| | | | |-- y: string (nullable = true)
| | | | |-- z: string (nullable = true)
| | | | |-- m: long (nullable = true)
我有此列数据框吗? 我如何计算数组结构的元素 以及如何将所有数组转换为字符串?
谢谢
答案 0 :(得分:0)
此数据结构在数组内具有数组,因此在列对象上使用标准数组功能甚至无法用于第二级数组。我要做的方法是将其转换为数据集,将数据读入case类并处理Scala中的Array()。
case class myclass(
id:String,
tb : Array[Tb]
)
case class Tb (x:String,y:String,z:String,m:Long)
val ds = spark.read.parquet("path to file").as[myclass]
ds.map{ row: Array[myclass] =>
//access row array and all elements within it.
}