2016-11-15 13 views

答えて

3

List(df1,df2,df3,dfN).reduce((a, b) => a.join(b, joinCondition)) 
+0

私は再帰で行いました。しかし、それは明らかなようです。 'DEF recursiveJoinOnDate(リスト:リスト[データフレーム]):DATAFRAME = { IF(list.isEmpty){ ヌル}そうであれば(はlist.size> 1){ list.head.join(recursiveJoinOnDate(list.tail )、 "Date") } else list.head } ' –

+1

私たちはどのようにpysparkで同じことを達成できますか? –

+0

スパークで同じことをするには?任意のポインタ? –

0

私はpysparkユーザーのための上記と同じ答えを書いています。

from functools import reduce 
from pyspark.sql.functions import coalesce 
dfslist #list of all dataframes that you want to join 
mergedDf = reduce(lambda df1,df2 : df1.join(df2, [df1.joinKey == df2.joinKey ], "outer").select("*", coalesce(df1.joinKey, df2.joinKey).alias("joinKey")).drop(df1.joinKey).drop(df2.joinKey), dfslist) 
関連する問題