【问题标题】:Is there a way to improve the performance of pyspark substract?有没有办法提高 pyspark 减法的性能?
【发布时间】:2022-11-07 16:11:09
【问题描述】:

我有两个 DF,每个读取 1 TB 数据。下面的代码运行很慢。有没有办法提高它的性能?

diffDF = df1.subtract(df2)

【问题讨论】:

标签: apache-spark pyspark amazon-emr


【解决方案1】:

通常,如果您有两个必须洗牌的大型数据集,则无法提高性能(配置调整除外)。

但是,根据数据和特定用例,您可以尝试以下缓解措施:

  1. 假设您有一些 id 列可以唯一地定义数据集中的每条记录,而不是 except,您可以使用可能更快的 left anti-join(请参阅 Any difference between left anti join and except in Spark?)。
  2. 在某些情况下,如果您可以在加入之前从df2 中消除不相关的记录并保留相对较少的id 来加入,那么您可能可以执行broadcast 加入,这肯定会显着提高性能。

【讨论】:

    猜你喜欢
    • 2021-09-06
    • 2012-09-19
    • 2021-01-20
    • 1970-01-01
    • 2021-12-19
    • 2017-12-31
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    相关资源
    最近更新 更多