दो DataFrames (स्काला, अपाचे स्पार्क 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
'BirthYear' के साथ एक नई DataFrame बना सकते हैं कैसे दोनों खिलाड़ियों के लिए
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"))
के लिए फिर से शामिल होने, लेकिन यह बहुत समय लगता आपरेशन है।
स्कैला और अपाचे स्पार्क में ऐसा करने का दूसरा तरीका हो सकता है?
फिर से कर दो मिलती है, यह कैसे इसे बेहतर बनाने करता है? – void
यह 10000 पंक्तियों और के साथ मिलान तालिका के लिए लगभग 2 मिनट चलाता है ~ 700 रिकॉर्ड – gmlvsv
के साथ प्लेयर तालिका बेहतर प्रदर्शन के लिए सादे वर्ग के बजाय आपके जुड़ने के लिए डेटा फ्रेम का उपयोग करें। – dheee