Spark:条件表达式和列操作

时间:2016-06-20 15:58:14

标签: apache-spark spark-dataframe

我有一个包含以下架构的数据框:

|- colA (Int)
|- colB (Int)
|- cnt  (Int)

我想执行以下条件表达式(伪代码):

if cnt > 1: 
  colC = colA + colB
else: 
  colC = colA

在上面的示例中,colC是使用withColumn函数创建的新列。

我不想在collectcnt

1 个答案:

答案 0 :(得分:2)

您可以使用when/otherwise语法与withColumn结合使用来有条件地创建列:

df.withColumn("colC", when($"cnt" > 1, $"colA" + $"colB").otherwise($"colA"))