我正在以独立模式在单个执行器上执行一个spark作业,该作业按预期运行,但它总是在结束时卡住12分钟。executor和driver docker容器在这段时间内基本上都处于空闲状态。在这里,您可以看到作业和日志:
https://gist.github.com/l15k4/25588d35a6c786b4ade514739c0195ee
根据我在WebUI中看到的情况,我正在打印任务完成后12分钟发生的统计数据……知道原因是什么吗?
它需要20分钟而不是8分钟...
在最初的8分钟之后,nload显示最小的上传/下载流量,top在驱动程序容器中显示最小的3-5%的CPU负载。除此之外,其他一切都是空闲的.
发布于 2016-06-09 05:47:40
原来,这额外的12分钟花在将s3上的hadoop _temporary文件合并到目标文件上。它的效率非常低,因为即使从s3下载输入文件的速度是70Mbit/s,下载和上传的速度也不会超过3Mbit/s。
换句话说,rdd.saveAsHadoopFile("s3a:// ...)的效率非常低,实际上应该只用于低数据量……
https://stackoverflow.com/questions/37712794
复制相似问题