每当我添加超过10个执行人我的工作开始变得慢了很多。 大于15个执行人,我的工作开始崩溃。 我一般用每执行4个核心,但已尝试2-5。 我使用的纱线和PySpark 2.1。 错误我收到:
ERROR TransportRequestHandler:发送错误结果RpcResponse
WARN NettyRpcEndpointRef:发送邮件时出错
未来超时后[10秒]
我已阅读,大多数人得到的OOM错误,这个错误变得但这不是我的标准错误日志中的任何地方。 我试图改变spark.executor.heartbeatInterval到30秒,这让未来超时警告信息那么频繁,但结果是一样的。
我曾经想取得更好的成绩使用不同数量的不同,从30到1000的分区我曾尝试增加我的执行内存到10g,即使我不认为这是问题。 我一直在使用仅几兆的小数据集,以更大的50GB的数据集尝试。 我唯一一次可以得到很多执行人的工作是当我在做一个很简单的工作怎么样读文件,写在别的地方。 在这种情况下,执行者不必交换数据,所以我不知道是否在某种程度上这就是问题所在。 所有其他的工作,我做任何聚集或收集或基本上什么我试着给我同样的错误,或者至少非常缓慢执行。 我只是很希望有一些其他的建议,我可以试试。