Я хотел бы получить различия между двумя данными, но возвращать строку только с разными полями.Например, у меня есть 2 кадра данных следующим образом:
val DF1 = Seq(
(3,"Chennai", "rahman",9846, 45000,"SanRamon"),
(1,"Hyderabad","ram",9847, 50000,"SF")
).toDF("emp_id","emp_city","emp_name","emp_phone","emp_sal","emp_site")
val DF2 = Seq(
(3,"Chennai", "rahman",9846, 45000,"SanRamon"),
(1,"Sydney","ram",9847, 48000,"SF")
).toDF("emp_id","emp_city","emp_name","emp_phone","emp_sal","emp_site")
Единственное различие между этими двумя кадрами данных составляет emp_city
и emp_sal
для второй строки.Теперь я использую функцию except
, которая выдает мне всю строку следующим образом:
DF1.except(DF2)
+------+---------+--------+---------+-------+--------+
|emp_id| emp_city|emp_name|emp_phone|emp_sal|emp_site|
+------+---------+--------+---------+-------+--------+
| 1|Hyderabad| ram| 9847| 50000| SF|
+------+---------+--------+---------+-------+--------+
Однако мне нужно, чтобы вывод был таким:
+---------+--------+-----+
|emp_id| emp_city|emp_sal|
+------+---------+-------+
| 1|Hyderabad| 50000|
+------+---------+-------+
, который показываетразличные ячейки, а также emp_id
.
Редактировать: если есть изменение в столбце, то оно должно появиться, если нет изменений, то оно должно быть скрыто или пусто