Apache spark Spark:条件表达式和列操作
我有一个具有以下模式的数据帧:Apache spark Spark:条件表达式和列操作,apache-spark,spark-dataframe,Apache Spark,Spark Dataframe,我有一个具有以下模式的数据帧: |- colA (Int) |- colB (Int) |- cnt (Int) 我想执行以下条件表达式(伪代码): 在上面的示例中,colC是使用withColumn函数创建的新列 我不想在cnt上执行collect 您可以使用when/other语法结合withColumn有条件地创建列: df.withColumn("colC", when($"cnt" > 1, $"colA" + $"colB").otherwise($"colA")) 是否
|- colA (Int)
|- colB (Int)
|- cnt (Int)
我想执行以下条件表达式(伪代码):
在上面的示例中,colC
是使用withColumn
函数创建的新列
我不想在
cnt
上执行collect
您可以使用when/other
语法结合withColumn
有条件地创建列:
df.withColumn("colC", when($"cnt" > 1, $"colA" + $"colB").otherwise($"colA"))
是否可以传递函数?@Neel,是的,您可以创建一个用户定义的函数,然后使用/传递:
df.withColumn("colC", when($"cnt" > 1, $"colA" + $"colB").otherwise($"colA"))