【发布时间】:2021-07-13 09:15:50
【问题描述】:
我尝试创建一个新列并将其与另一列进行比较,如果相等,我必须输入“是”否则“否”,如您在此处看到的:
+----+-------+-----------+----------+
|Game| statB | statPrev | Change |
+----+-------+-----------+----------+
| CA| 2 | 2 | No |
| BL| 5 | 2 | Yes |
| CD| null | null | No |
| NT| 4 | 5 | Yes |
| FT| 6 | null | Yes |
+----+-------+-----------+----------+
我正在尝试的是:
var df1 = df.withColumn("Change",
when($"statB" =!= $"statPrev"
|| $"statPrev".isNull && $"statB".isNotNull
|| $"statPrev".isNotNull && $"statB".isNotNull, "Yes").otherwise("No"))
但是例如当 StatB 和 statPrev 都是空值时,我得到一个“是”...我做错了什么?
【问题讨论】:
标签: scala apache-spark