-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
進口上述工作。