在pyspark中有效地追加大量数据帧

时间:2020-05-14 04:05:00

标签: python scala pyspark apache-spark-sql databricks

我有一个包含大量数据帧的字典,我计划将它们全部合并存储在dbfs中,请尝试以下操作:

***df = sqlContext.createDataFrame([],schema)
for i in dict.keys():
  df = df.union(dict[i])***

要花很多时间才能执行!有没有有效的方法来合并它们?我假设我要去(((((a + b)+ c)+ d)+ e)....这就是为什么要花更多时间

1 个答案:

答案 0 :(得分:0)

DataFrame只能一个接一个地合并,但是您可以在rdd-s上进行并集,然后将最后一个转换回dataframe:

real*8, target

根据http://apache-spark-developers-list.1001551.n3.nabble.com/repeated-unioning-of-dataframes-take-worse-than-O-N-2-time-td20394.html#a20408,您应该提高速度,因为Spark不会每次都针对先前的df-s进行分析。