如何从自己的Array [struct]列向数据框添加列

时间:2017-11-09 11:38:41

标签: scala apache-spark spark-dataframe databricks

我有一个如下数据框。

注意:数组类型中只有最多3或4次重复

root
 |-- A: string (nullable = true)
 |-- B: string (nullable = true)
 |-- ArrayIDs: array (nullable = true)
 |    |-- element: struct (containsNull = true)
 |    |    |-- ArrayID: string (nullable = true)
 |    |    |-- ArrayIDType: string (nullable = true)
 |    |    |-- ArrayIDlength: string (nullable = true)
 |-- C: string (nullable = true)

使用值

 +----------+----+--------------------+----------------+
|A|B|          ArrayIDs|         C
+----------+----+--------------------+----------------+
|   3.54|null|    [[R,C,3],[X,Y,7]]|111|
|   3.64|null| [[3,P,12], [0,P,3],[I,X,5]]|222|
|   4.64|   Y|    [[L,B,1]]|333|

我期待输出类似

root
 |-- A: string (nullable = true)
 |-- B: string (nullable = true)
 |-- ArrayID1: string
 |-- ArrayIDType1: string 
 |-- ArrayIDlength1: string 
 |-- ArrayID2: string
 |-- ArrayIDType2: string 
 |-- ArrayIDlength2: string 
 |-- ArrayID3: string
 |-- ArrayIDType3: string 
 |-- ArrayIDlength3: string 
 |-- C: string (nullable = true)

我尝试爆炸,但这不是我所期望的,有什么建议吗?

它与评论中提到的不重复,但更多关于在数据框中从数组中添加新列

0 个答案:

没有答案