【发布时间】:2019-08-06 20:46:09
【问题描述】:
我正在使用一个数据框 df 看起来像:
root
|-- array(data1, data2, data3, data4): array (nullable = false)
| |-- element: array (containsNull = true)
| | |-- element: struct (containsNull = true)
| | | |-- k: struct (nullable = false)
| | | | |-- v: string (nullable = true)
| | | | |-- t: string (nullable = false)
| | | |-- resourcename: string (nullable = true)
| | | |-- criticity: string (nullable = true)
| | | |-- v: string (nullable = true)
| | | |-- vn: double (nullable = true)
如“数据”列中的 df.show() 中所述,类型数组包含四个数组“data1”、“data2”、“data3”、“data4”具有相同的模式和数据类型,我得到这个数据帧后
df.withcolumn("Column1",array(col("data1"),col("data2")
,col("data3"),col("data4"))
我想在同一个数组中获取包含“data1”、“data2”、“data3”和“data4”的所有元素的新数据框。新架构必须是:
|-- data: array (nullable = true)
| |-- element: struct (containsNull = true)
| | |-- criticity: string (nullable = true)
| | |-- k: struct (nullable = true)
| | | |-- t: string (nullable = true)
| | | |-- v: string (nullable = true)
| | |-- resourcename: string (nullable = true)
| | |-- v: string (nullable = true)
| | |-- vn: double (nullable = true)
【问题讨论】:
标签: scala apache-spark dataframe apache-spark-sql