Istnieją dwa DataFrames (Scala, Apache Spark 1.6.1)Jak dołączyć do dwóch DataFrames w Scala i Apache Spark?
1) pasuje
MatchID | Player1 | Player2
--------------------------------
1 | John Wayne | John Doe
2 | Ive Fish | San Simon
2) Dane osobowe
Player | BirthYear
--------------------------------
John Wayne | 1986
Ive Fish | 1990
San Simon | 1974
john Doe | 1995
Jak można utworzyć nowy DataFrame z 'BirthYear' dla obu graczy:
MatchID | Player1 | Player2 | BYear_P1 |BYear_P2 | Diff
-------------------------------------------------------------
1 | John Wayne | John Doe | 1986 | 1995 | 9
2 | Ive Fish | San Simon | 1990 | 1974 | 16
?
Próbowałem
val df = MatchesDF.join(PersonalDF, MatchesDF("Player1") === PersonalDF("Player"))
następnie przystąpić ponownie do drugiego gracza
val resDf = df.join(PersonalDF, df("Player2") === PersonalDF("Player"))
ale to bardzo czasochłonna operacja.
Może być inny sposób, aby to zrobić w Scala i Apache Spark?
znowu robi dwa przyłącza, jak to zrobić to lepiej? – void
Ten przebieg około 2 minut dla tabeli Dopasowania z ~ 10000 rzędami i Tabela graczy z ~ 700 rekordów – gmlvsv
używa ramek danych dla twoich połączeń zamiast zwykłego sql dla lepszej wydajności. – dheee