我正在使用Spark / YARN集群来限制我可以分配到8GB内存和每个容器1个核心的资源,但我可以分配数百甚至数千个执行程序来运行我的应用程序 .
但是,由于驱动程序具有类似的资源限制(8GB内存,4个内核),我担心太多的执行程序可能会压倒驱动程序并导致超时 .
是否有一个经验法则可以调整驱动程序内存和内核以处理大量执行程序?
有关如何确定“执行者”规模的规则 .
对于具有8GB和4核的驱动程序,它应该能够轻松处理数千个执行程序,因为它只维护执行程序的簿记元数据 .
假设您没有在spark代码中使用collect()等函数 .
Spark代码分析将帮助您了解spark中执行的操作:http://bytepadding.com/big-data/spark/spark-code-analysis/
1 回答
有关如何确定“执行者”规模的规则 .
对于具有8GB和4核的驱动程序,它应该能够轻松处理数千个执行程序,因为它只维护执行程序的簿记元数据 .
假设您没有在spark代码中使用collect()等函数 .
Spark代码分析将帮助您了解spark中执行的操作:http://bytepadding.com/big-data/spark/spark-code-analysis/