首頁 >後端開發 >Python教學 >如何在 Spark DataFrame 中實作 IF-THEN-ELSE 邏輯?

如何在 Spark DataFrame 中實作 IF-THEN-ELSE 邏輯?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-17 04:18:03346瀏覽

How to Implement IF-THEN-ELSE Logic in Spark DataFrames?

Spark 等價於 IF Then ELSE

本題深入研究基於條件規則在 Spark DataFrame 中建立新欄位。

何時的問題函數

提供的程式碼嘗試使用when()函數根據「iris_class」欄位中的值建立一個名為「Class」的新欄位。但是,它會拋出一個錯誤,指出 when() 只接受兩個參數。

正確的語法和結構

when() 函數的正確語法是:

這允許將多個when() 子句連結在一起,並使用可選的else() 子句來處理未涵蓋的情況

此語法的等效SQL 是帶有多個WHEN 子句的CASE 語句,如下所示:

建議解決方案

因此,建立「Class」欄位的正確程式碼應該是:

替代語法

另一個實現相同結果的有效語法是:

關於Hive 的注意事項IF

需要注意的是,Hive Spark 不支援IF 條件,其語法為IF(condition, if-true, if-false)。此條件只能在支援 Hive 的原始 SQL 查詢中使用。

以上是如何在 Spark DataFrame 中實作 IF-THEN-ELSE 邏輯?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn