3
Sparkのデータフレームを結合する最適な方法を探していました。複数のデータフレームを結合するSpark
例リスト(df1、df2、df3、dfN)ここで、すべてのdfには私が参加できる日付があります。
再帰?
おかげでこのよう
Sparkのデータフレームを結合する最適な方法を探していました。複数のデータフレームを結合するSpark
例リスト(df1、df2、df3、dfN)ここで、すべてのdfには私が参加できる日付があります。
再帰?
おかげでこのよう
:
List(df1,df2,df3,dfN).reduce((a, b) => a.join(b, joinCondition))
私は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)
私は再帰で行いました。しかし、それは明らかなようです。 'DEF recursiveJoinOnDate(リスト:リスト[データフレーム]):DATAFRAME = { IF(list.isEmpty){ ヌル}そうであれば(はlist.size> 1){ list.head.join(recursiveJoinOnDate(list.tail )、 "Date") } else list.head } ' –
私たちはどのようにpysparkで同じことを達成できますか? –
スパークで同じことをするには?任意のポインタ? –