-1
我有一个数据框,我想添加一个额外的列到它基于一个简单的条件,基本上说,是否sof sof其他列是否相等给定的字符串或不。我知道我可以创建一个UDF并注册并使用它,但是我认为必须有一个更简单的方法来实现它。这是什么我对伪码做如何在DataFrame中基于Spark中的简单条件创建额外的列
df.withColumn("extra", if (col("a) == "str" 1 else 2))
我有一个数据框,我想添加一个额外的列到它基于一个简单的条件,基本上说,是否sof sof其他列是否相等给定的字符串或不。我知道我可以创建一个UDF并注册并使用它,但是我认为必须有一个更简单的方法来实现它。这是什么我对伪码做如何在DataFrame中基于Spark中的简单条件创建额外的列
df.withColumn("extra", if (col("a) == "str" 1 else 2))
您是非常有:
scala> val df = Seq((1,2), (3,3), (4,5)).toDF("a", "b")
scala> df.show
+-+-+
|a|b|
+-+-+
|1|2|
|3|3|
|4|5|
+-+-+
scala> df.withColumn("New", when($"a" === $"b", "equal").otherwise("not")).show
+-+-+-----+
|a|b| New|
+-+-+-----+
|1|2| not|
|3|3|equal|
|4|5| not|
+-+-+-----+
请注意,您将需要functions
和implicits
进口上述工作。