Ci sono due DataFrames (Scala, Apache Spark 1.6.1)Come unire due DataFrames in Scala e Apache Spark?
1) Corrisponde
MatchID | Player1 | Player2
--------------------------------
1 | John Wayne | John Doe
2 | Ive Fish | San Simon
2) Dati Personali
Player | BirthYear
--------------------------------
John Wayne | 1986
Ive Fish | 1990
San Simon | 1974
john Doe | 1995
Come potrebbe creare un nuovo dataframe con 'Anno di nascita' per entrambi i giocatori
MatchID | Player1 | Player2 | BYear_P1 |BYear_P2 | Diff
-------------------------------------------------------------
1 | John Wayne | John Doe | 1986 | 1995 | 9
2 | Ive Fish | San Simon | 1990 | 1974 | 16
?
ho cercato
val df = MatchesDF.join(PersonalDF, MatchesDF("Player1") === PersonalDF("Player"))
poi unirsi di nuovo per il secondo giocatore
val resDf = df.join(PersonalDF, df("Player2") === PersonalDF("Player"))
ma è in termini di tempo di funzionamento molto.
Potrebbe essere un altro modo per farlo in Scala e Apache Spark?
di nuovo facendo due si unisce, come ci si renderla migliore? – void
Esegui circa 2 minuti per la tabella delle corrispondenze con ~ 10000 righe e Tabella giocatori con ~ 700 record – gmlvsv
utilizza i frame di dati per i tuoi join anziché SQL semplice per prestazioni migliori. – dheee