原因:程序运行时所需内存 > memory。一般是因为处理数据量或者缓存的数据量较大,已有内存不足 并且内存分配速度 > GC回收速度导致。
解决方案:增大memory、减少单个Executor的并发数(cores)、减少不必要的cache操作、尽量不要对比较大的数据做broadcast、尽量避免shuffle算子或者对程序逻辑/底层数据进行优化
原因:程序运行时所需内存 > memory。一般是因为处理数据量或者缓存的数据量较大,已有内存不足 并且内存分配速度 > GC回收速度导致。
解决方案:增大memory、减少单个Executor的并发数(cores)、减少不必要的cache操作、尽量不要对比较大的数据做broadcast、尽量避免shuffle算子或者对程序逻辑/底层数据进行优化