【发布时间】:2023-01-26 11:56:42
【问题描述】:
我们有多个连接涉及一个大表(大小约为 500 GB)。联接的输出存储在多个小文件中,每个文件大小为 800kb-1.5mb。因此,这项工作被分成多项任务,需要很长时间才能完成。
我们已经尝试使用 spark 调优配置,例如使用广播连接、更改分区大小、更改每个文件的最大记录数等,但是这些方法没有性能改进,问题也没有解决。使用 coalesce 会使工作在那个阶段完成,并且没有任何进展。
请查看此链接以获取 Spark UI 指标屏幕截图,https://i.stack.imgur.com/FfyYy.png
【问题讨论】:
-
Coalesce 是在加入后立即添加的还是在写入输出文件之前添加的?传递给此函数的分区数是多少?
标签: apache-spark pyspark apache-spark-sql databricks azure-databricks