我知道如何计算执行器核心和内存。但是谁能解释一下spark.driver.memory是根据什么计算的?
操作于Dataset
比如collect
take
需要将所有数据移至应用程序的驱动程序进程中,并且在非常大的数据集上执行此操作可能会导致驱动程序进程崩溃并出现 OutOfMemoryError。
你增加spark.driver.memory
当您向司机收集大量货物时。
As per
霍尔顿·卡劳 (Holden Karau) 和雷切尔·沃伦 (Rachel Warren) 的高性能 Spark (O’Reilly)
Spark 查询的大部分计算工作是由
执行器,因此增加驱动程序的大小很少会加速
计算。但是,如果作业收集太多数据,则可能会失败
驱动程序或执行大型本地计算。因此,增加
驱动程序内存和相应的值spark.driver.maxResultSize
可以防止内存不足错误
司机。
设置 Spark 驱动程序内存的一个很好的启发方法就是
不会导致内存错误的最低可能值
驱动程序,即为驱动程序提供最大可能的资源
执行者。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)