Как объединить два 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?

Ответы на вопрос(3)

Ваш ответ на вопрос