我有一个带有以下架构的数据框:
|- colA (Int)
|- colB (Int)
|- cnt (Int)
我想执行以下条件表达式(伪代码):
if cnt > 1:
colC = colA + colB
else:
colC = colA
在上面的示例中,colC
是使用withColumn
函数创建的新列。
我不想在cnt
上执行collect
。
您可以使用与withColumn
结合的when/otherwise
语法来条件创建列:
df.withColumn("colC", when($"cnt" > 1, $"colA" + $"colB").otherwise($"colA"))