【发布时间】:2020-03-12 23:54:23
【问题描述】:
我有一个带有 scala 元组数组(索引,值)的数据框,如下所示,索引的值从 1 到 4
id | units_flag_tuples
id1 | [(3,2.0), (4,6.0)]
id2 | [(1,10.0), (2,2.0), (3,5.0)]
我想访问数组中的值并根据索引(unit1,unit2,unit3,unit4)将其放入列中:
ID | unit1| unit2 | unit3 | unit 4
id1 | null | null | 2.0 | 6.0
id2 | 10.0 | 2.0 | 5.0 | null
代码如下:
df
.withColumn("unit1", col("units_flag_tuples").find(_._1 == '1').get._2 )
.withColumn("unit2", col("units_flag_tuples").find(_._1 == '2').get._2 )
.withColumn("unit3", col("units_flag_tuples").find(_._1 == '3').get._2 )
.withColumn("unit4", col("units_flag_tuples").find(_._1 == '4').get._2 )
这是我收到的错误消息:
错误:值查找不是 org.apache.spark.sql.Column 的成员
如何解决此错误或任何更好的方法?
【问题讨论】: