AWS EMR上的Spark:更新到emr-5.20(使用Spark 2.4):作业比以往更多

时间:2019-02-07 20:05:33

标签: java apache-spark amazon-emr

最近,我们将EMR发布标签从emr-5.16.0升级到了emr-5.20.0,后者使用的是Spark 2.4而不是2.3.1。

起初,这太可怕了。乔布斯开始比以前更多。 最后,我们将maximumResourcesAllocation设置为true(也许在emr-5.16中默认为true),并且情况开始好转。 但是某些阶段仍然比以前花费更多(而其他阶段则花费更少)。 即: Spark 2.4: enter image description here

火花2.3.1: enter image description here

应用程序历史记录中的图像。

在Spark 2.4中,keyBy操作所花费的时间是Spark 2.3.1的十倍以上。

它与分区数有关。 在spark 2.3.1中,mapToPair操作后RDD的分区数为5580,而在Spark 2.4中,群集的默认并行度(128是因为它在64核群集中运行)。

我尝试将分区重新设置为10000,而keyBy阶段仅在1.2分钟内结束。但是我认为这不是一个好的解决方案,也不是确定的解决方案。

这是一个已知问题吗? 我应该尝试将默认并行度设置为更大的数量吗?

0 个答案:

没有答案