[英]Spark Scala case when with multiple conditions
我正在嘗試對我擁有的 DF 進行處理,但出現錯誤。 我想用內置的火花函數來實現這個 - withcolumn,when,否則:
CASE WHEN vehicle="BMW"
AND MODEL IN ("2020","2019","2018","2017")
AND value> 100000 THEN 1
ELSE 0 END AS NEW_COLUMN
目前我有這個
DF.withColumn(NEW_COLUMN, when(col(vehicle) === "BMW"
and col(model) isin(listOfYears:_*)
and col(value) > 100000, 1).otherwise(0))
但是由於數據類型不匹配(布爾值和字符串),我收到了一個錯誤……我知道我的條件返回布爾值和字符串,這是導致錯誤的原因。 執行這樣的案例的正確語法是什么? 另外,我使用 && 而不是and但第三個 && 給了我一個“無法解析符號&&”
謝謝您的幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.