Как объединить два DataFrames в Scala и Apache Spark?
Есть два DataFrames (Scala, Apache Spark 1.6.1)
1) Матчи
MatchID | Player1 | Player2
--------------------------------
1 | John Wayne | John Doe
2 | Ive Fish | San Simon
2) Персональные данные
Player | BirthYear
--------------------------------
John Wayne | 1986
Ive Fish | 1990
San Simon | 1974
john Doe | 1995
Как можно создать новый DataFrame с «BirthYear» для обоих игроков
MatchID | Player1 | Player2 | BYear_P1 |BYear_P2 | Diff
-------------------------------------------------------------
1 | John Wayne | John Doe | 1986 | 1995 | 9
2 | Ive Fish | San Simon | 1990 | 1974 | 16
?
Я старался
val df = MatchesDF.join(PersonalDF, MatchesDF("Player1") === PersonalDF("Player"))
затем присоединитесь снова для второго игрока
val resDf = df.join(PersonalDF, df("Player2") === PersonalDF("Player"))
но это ОЧЕНЬ трудоемкая операция.
Может быть, это еще один способ сделать это в Scala и Apache Spark?