2016-06-20 5 views
1

Iは、以下のスキーマでデータフレームを有する:上記の例でスパーク:条件式と列操作

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

:私は、以下の条件式(擬似コード)を実行する

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

を、colCは、withColumn関数で作成された新しい列です。

collectcntに送信したくありません。

答えて

2

あなたは条件付きで列を作成するためにwithColumnと組み合わせwhen/otherwise構文を使用することができます。

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

は、関数を渡すことが可能ですか? – Neel