val originalDF = Seq((1,"gaurav","jaipur",550,70000),(2,"sunil","noida",600,80000),(3,"rishi","ahmedabad",510,65000)).toDF("id","name","city","credit_score","credit_limit")
val changedDF= Seq((1,"gaurav","jaipur",550,70000),(2,"sunil","noida",650,90000),(4,"Joshua","cochin",612,85000)).toDF("id","name","city","creditscore","credit_limit")
Таким образом, два вышеупомянутых кадра данных имеют одинаковую структуру таблицы, и я хочу узнать идентификаторы, значения которых изменились в другом кадре данных (updatedDF). Я попытался с помощью функции exc () в spark, но она дает мне две строки. Идентификатор является общим столбцом между этими двумя фреймами данных.
changedDF.except(originalDF).show
+---+------+------+-----------+------------+
| id| name| city|creditscore|credit_limit|
+---+------+------+-----------+------------+
| 4|Joshua|cochin| 612| 85000|
| 2| sunil| noida| 650| 90000|
+---+------+------+-----------+------------+
Принимая во внимание, что я хочу только общие идентификаторы, для которых произошли какие-либо изменения. Как это ->
+---+------+------+-----------+------------+
| id| name| city|creditscore|credit_limit|
+---+------+------+-----------+------------+
| 2| sunil| noida| 650| 90000|
+---+------+------+-----------+------------+
Есть ли способ выяснить только общие идентификаторы, для которых изменились данные. Кто-нибудь может сказать мне любой подход, который я могу использовать, чтобы достичь этого.