2017-02-20 8 views
1

У меня есть два кадра данных. Я хочу удалить некоторые записи в Data Frame-A на основе некоторых общих значений столбцов в Data Frame-B.Как фильтровать дубликаты записей с несколькими ключами в Spark Dataframe?

Для примера: данных Рама-А:

A B C D 
1 2 3 4 
3 4 5 7 
4 7 9 6 
2 5 7 9 


данных Рамка-Б:

A B C D 
1 2 3 7 
2 5 7 4 
2 9 8 7 


Keys: A,B,C columns 

Желаемый выход:

A B C D 
3 4 5 7 
4 7 9 6 

Любое решение для этого.

ответ

3

Вы ищете left anti-join:

df_a.join(df_b, Seq("A","B","C"), "leftanti").show() 
+---+---+---+---+ 
| A| B| C| D| 
+---+---+---+---+ 
| 3| 4| 5| 7| 
| 4| 7| 9| 6| 
+---+---+---+---+ 
Смежные вопросы