У меня есть 2 кадра данных, как показано ниже.
Цель состоит в том, чтобы найти новую строку из df2, в которой одинаковые значения столбца не существуют в кадре данных 1.
Я попытался объединить двафреймы данных с id в качестве условия соединения и проверенные значения других столбцов не равны, как показано ниже.
Но это не работает.
Может кто-нибудь помочь?
df1: Этот фрейм данныхпоходит на главную таблицу
id amt city date
abc 100 City1 9/26/2018
abc 100 City1 9/25/2018
def 200 City2 9/26/2018
ghi 300 City3 9/26/2018
df2: новый набор данных приходит каждый день. 2. 1014 *
id amt city date
abc 100 City1 9/27/2018
def null City2 9/26/2018
ghi 300 City3 9/26/2018
Результат: создайте результирующий кадр данных, как показано ниже:
id amt city date
abc 100 City1 9/27/2018
def null City2 9/26/2018
Код, который я пробовал:
val writeDF = df1.join(df2, df1.col("id") === df2.col("id")).
where(df1.col("amt") =!= df2.col("amt")).where(df1.col("city") =!=
df2.col("city")).where(df1.col("date") =!= df2.col("date")).select($"df2.*")