我正在连接两个Dataframe,它们从s3读取csv文件,并使用 df.join
使用默认值需要9分钟才能完成 spark.sql.shuffle.partitions
(200).
当我改变的时候 spark.sql.shuffle.partitions
到10岁,仍然需要差不多相同的时间。
有没有办法提高同一份工作的表现。
另外,如何动态地确定 spark.sql.shuffle.partitions
在生产场景中。
我正在连接两个Dataframe,它们从s3读取csv文件,并使用 df.join
使用默认值需要9分钟才能完成 spark.sql.shuffle.partitions
(200).
当我改变的时候 spark.sql.shuffle.partitions
到10岁,仍然需要差不多相同的时间。
有没有办法提高同一份工作的表现。
另外,如何动态地确定 spark.sql.shuffle.partitions
在生产场景中。
1条答案
按热度按时间6qfn3psc1#
加速spark连接最有效的方法之一是最小化每个Dataframe中的元素数量;例如,可以在加入Dataframe之前对其应用尽可能多的筛选器。另一种方法是对较小的Dataframe使用广播Dataframe方法(请记住,广播Dataframe必须比其他帧小)。有关详细信息,您可以使用以下有关spark联接优化的提示:
优化apachesparksql连接的databricks演示
apachespark的性能调优