Как узнать, что нового и что изменилось при сравнении двух фреймов данных в pyspark? - PullRequest
0 голосов
/ 26 июня 2018

У меня есть два кадра данных (более 1 млн записей). Только ~ 10% строк отличаются. Я знаю, как найти дельту:

df1.subtract(df2)

Но я также хотел бы знать, какие записи являются новыми и что изменилось. Я знаю, что могу сделать это, используя Hive Context, когда у меня есть дельта, но, может быть, есть простой способ сделать это на основе некоторых функций pyspark?

Спасибо заранее.

1 Ответ

0 голосов
/ 26 июня 2018

Просто выполните соединения с leftsemi и leftanti

df = df1.subtract(df2) #diff dataframe
df.join(df2, how='leftsemi', on='id').show() #will print the modified lines
df.join(df2, how='leftanti', on='id').show() #will print the new lines
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...