为什么增加内核数量会减慢我在EMR上的Spark工作?

时间:2018-08-05 21:23:46

标签: apache-spark hadoop amazon-ec2 cluster-computing amazon-emr

我有一个正在EMR上运行的spark程序。我注意到,当我将集群更改为具有更多核心时(通过选择具有更多核心的实例类型),1)完成这项工作需要花费更长的时间,以及2)由于出错,它实际上从未完成。

具体地说,当我使用19个c3.4xlarge从属节点(即304个内核),57个执行器和1140个分区时,我的工作需要4分钟才能完成。但是,当我将40个c4.8xlarge从属节点(即720个内核)转换为140个执行者和2800个分区时,它在22分钟后失败。

这是为什么?我希望通过增加核心数量(实际上是分区数量),可以加快工作速度。此外,我不确定第二种情况为何会失败。

在这两种情况下,每个执行者大约有5个核心,而分区数量是核心的4倍(假定每个节点一个核心用于系统任务和YARN代理)。

这是我在下面的评论中要求的火花提交:

spark-submit --deploy-mode client --master yarn --num-executors 57 --class someMainClass /path/to/local/JAR

0 个答案:

没有答案