我需要按「KEY」列進行分組,並且需要檢查「TYPE_CODE」列是否同時具有「PL」和「JL」值,如果是這樣,那麼我需要添加指標列如 「Y」 其他 「N」Spark Dataframe Group有新指標列
實施例:
//Input Values
val values = List(List("66","PL") ,
List("67","JL") , List("67","PL"),List("67","PO"),
List("68","JL"),List("68","PO")).map(x =>(x(0), x(1)))
import spark.implicits._
//created a dataframe
val cmc = values.toDF("KEY","TYPE_CODE")
cmc.show(false)
------------------------
KEY |TYPE_CODE |
------------------------
66 |PL |
67 |JL |
67 |PL |
67 |PO |
68 |JL |
68 |PO |
-------------------------
預期輸出:
對於每個 「KEY」,如果它有 「類型代碼」 既有PL & JL,則Y 別的ñ
-----------------------------------------------------
KEY |TYPE_CODE | Indicator
-----------------------------------------------------
66 |PL | N
67 |JL | Y
67 |PL | Y
67 |PO | Y
68 |JL | N
68 |PO | N
---------------------------------------------------
例如, 67具有兩個PL & JL - 因此, 「Y」 66具有隻PL - 所以 「N」 68具有僅JL - 所以 「N」
我不知道spark的groupby支持這種聚合。您可能必須創建自己的功能才能這樣做 – Sentinel