Я ищу способ найти разницу в значениях от пары id в DataFrame. Например, у меня есть DataFrame
df = spark.createDataFrame([
(1,'st' ,'aaa'), (1,'st', 'bbb'),
(2,'ac' ,'aaa'), (2,'ac', 'ccc'), (3,'ac', 'ggg'),
(3,'ds' ,'aaa'), (3,'ds', 'ggg'),(3,'ds', 'mmm')
], ("id","code" ,"prod"))
df.show()
+---+----+----+
| id|code|prod|
+---+----+----+
| 1| st| aaa|
| 1| st| bbb|
| 2| ac| aaa|
| 2| ac| ccc|
| 3| ac| ggg|
| 3| ds| aaa|
| 3| ds| ggg|
| 3| ds| mmm|
+---+----+----+
и таблица парных идентификаторов
pairId = spark.createDataFrame([('st' ,'ac'), ('st' ,'ac'),('st','ds' ),('st','ds' ),('ac' ,'ds' )],
("idSorce","idTarget" ))
pairId .show()
+-------+--------+
|idSorce|idTarget|
+-------+--------+
| st| ac|
| st| ac|
| st| ds|
| st| ds|
| ac| ds|
+-------+--------+
Моя цель - получить prod
, что только в idTarget
что-то вроде
+-------+--------+----+
|idSorce|idTarget|prod|
+-------+--------+----+
| st| ac| ccc|
| st| ac| ggg|
| st| ds| ggg|
| st| ds| mmm|
| ac| ds| mmm|
+-------+--------+----+