我在一个列表中有5000多个数据帧,我想在分布式计算中将所有df合并为1 df。
我尝试了reduce函数,但是运行大约需要2个小时。有什么更好的方法可以节省时间吗?
torqueFilteredRawData = [df1,df2,......,df5600]
torqueFRData = reduce(DataFrame.unionAll, torqueFilteredRawData)
display(torqueFRData)
编辑-从评论中添加详细信息
我有2个数据框:
From
和To
时间戳列我想查询数据框2以获取数据框1中可用的From
和To
之间的数据。我使用了map函数来查询数据框2,该数据框返回一个数据框列表:
startTime = SD_GE_One.select("startTime").collect()
endTime = SD_GE_One.select("endTime").collect()
FilteredRawData = list(map(lambda x,y:RawData.filter("SignalTimeStamp BETWEEN '"+ str(x[0])+"' AND '"+str(y[0])+"'"), startTime,endTime))