我需要按“KEY”列进行分组,并检查“TYPE_CODE”列是否同时具有“PL”和“JL”的值,如果是,则需要添加一个指示器列为“Y”,否则为“N”
例子:
//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",如果它的"TYPE_CODE"既有PL又有JL,则为Y,否则为N。
-----------------------------------------------------
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”