【发布时间】:2015-06-29 02:25:56
【问题描述】:
这可能是一个愚蠢的问题。我想确保我理解正确。
当你在一个巨大的文件(400GB) 中进入一个集群时,集体执行程序内存只在120GB 左右,Spark 似乎永远读取。它不会崩溃,也不会启动第一个地图作业。
我认为正在发生的是,Spark 正在将大文件作为流读取,并在执行程序内存不足时开始丢弃旧行。当.map 代码开始执行时,这显然是一个问题,因为执行器 jvm 将再次从头读回文件。不过我想知道,Spark 是否以某种方式将数据溢出到硬盘驱动器上,类似于 shuffle 溢出机制。
注意,我指的不是缓存进程。这与使用的初始读取有关
sc.textFile(filename)
【问题讨论】:
标签: memory-management apache-spark