【发布时间】:2022-11-07 16:11:09
【问题描述】:
我有两个 DF,每个读取 1 TB 数据。下面的代码运行很慢。有没有办法提高它的性能?
diffDF = df1.subtract(df2)
【问题讨论】:
-
根据此处的指南重组问题以更好地支持您stackoverflow.com/a/48427186/7989581
-
你能分享火花提交参数吗?
标签: apache-spark pyspark amazon-emr
我有两个 DF,每个读取 1 TB 数据。下面的代码运行很慢。有没有办法提高它的性能?
diffDF = df1.subtract(df2)
【问题讨论】:
标签: apache-spark pyspark amazon-emr
通常,如果您有两个必须洗牌的大型数据集,则无法提高性能(配置调整除外)。
但是,根据数据和特定用例,您可以尝试以下缓解措施:
except,您可以使用可能更快的 left anti-join(请参阅 Any difference between left anti join and except in Spark?)。df2 中消除不相关的记录并保留相对较少的id 来加入,那么您可能可以执行broadcast 加入,这肯定会显着提高性能。
【讨论】: