Comment joindre les deux DataFrames de Scala et Apache Spark?
Il y a deux DataFrames (Scala, Apache Spark 1.6.1)
1) Correspond à
MatchID | Player1 | Player2
--------------------------------
1 | John Wayne | John Doe
2 | Ive Fish | San Simon
2) Les Données Personnelles
Player | BirthYear
--------------------------------
John Wayne | 1986
Ive Fish | 1990
San Simon | 1974
john Doe | 1995
Comment pourrait créer un nouveau DataFrame avec "Annéenaissance" pour les deux joueurs
MatchID | Player1 | Player2 | BYear_P1 |BYear_P2 | Diff
-------------------------------------------------------------
1 | John Wayne | John Doe | 1986 | 1995 | 9
2 | Ive Fish | San Simon | 1990 | 1974 | 16
?
J'ai essayé
val df = MatchesDF.join(PersonalDF, MatchesDF("Player1") === PersonalDF("Player"))
puis rejoindre à nouveau pour le second joueur
val resDf = df.join(PersonalDF, df("Player2") === PersonalDF("Player"))
mais c'est TRÈS coûteux en temps de l'opération.
Peut être une autre façon de faire de Scala et Apache Spark?
OriginalL'auteur gmlvsv | 2016-04-22
Vous devez vous connecter pour publier un commentaire.
Cela devrait mieux fonctionner:
Je n'ai pas trouvé le moyen d'exprimer une jointure de 3 tables en Scala DSL.
Cette course d'environ 2 minutes pour les Matchs de la table avec ~10000 lignes et table de Joueur avec ~700 dossiers
utiliser les données des cadres pour vos jointures au lieu de la plaine sql pour de meilleures performances.
Face à semblable question : stackoverflow.com/questions/38149483/... une idée ?
si vous avez plus de 2 DataFrame vous souhaitez faire adhérer. Serait-il plus rapide de le faire en une seule requête ou plusieurs rejoindre / select ?
OriginalL'auteur Vitalii Kotliarenko
C'est une solution à l'aide de la spark dataframe fonctions:
OriginalL'auteur Sohum Sachdev
Cette information est insuffisante pour fournir toute sorte d'aide. Ce qui est "de gauche"? Ce qui est "juste"? Veuillez reformuler votre réponse..
Il n'y a pas une telle fonction d'affichage dans Spark Dataframe (Scala de mise en œuvre)
OriginalL'auteur gaurhari dass