【问题标题】:Optimizing spark sql Cartesian join优化 spark sql 笛卡尔连接
【发布时间】:2019-12-30 08:53:43
【问题描述】:

我必须对两个分别为 3M 和 1M 的数据集执行笛卡尔连接。这意味着 3M 数据集中的每一行都应该连接到 1M 数据集中的每一行。之后,我必须在笛卡尔积上执行多个其他联接。使用 PySpark 运行代码大约需要 9 天。有什么办法可以优化吗?

【问题讨论】:

  • 嗨!你能发布你用来执行笛卡尔连接的coe吗?这样我们就可以看到可以优化的地方。
  • 不确定笛卡尔积可以,需要优化。
  • @Titulum 我在笛卡尔连接之前编写的代码非常大,最终创建了 2 个表,这些表依次被连接。所以最终查询变成:“select a.v1,a.v1 from tableA a cross join tableB b”

标签: python python-3.x apache-spark pyspark apache-spark-sql


【解决方案1】:

我之前遇到过同样的情况,但无法加入优化。所以我根据下面链接中提到的第三个选项更改了我的 spark 执行器配置 https://spoddutur.github.io/spark-notes/distribution_of_executors_cores_and_memory_for_spark_application.html 请检查一下

【讨论】:

  • 我已经尝试优化配置,但仍然没有执行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-24
  • 2015-11-18
  • 1970-01-01
  • 2012-03-15
  • 1970-01-01
  • 2015-10-16
  • 1970-01-01
相关资源
最近更新 更多