据我所知,Spark会尝试在内存中进行所有计算,除非您使用磁盘存储选项调用persist。但是,如果我们不使用任何持久性,当RDD不适合内存时,Spark会做什么?如果我们有非常庞大的数据怎么办? Spark如何处理它而不会崩溃?
答案 0 :(得分:8)
来自Apache Spark FAQ&#39>:
Spark的运营商如果数据不适合内存,则会将数据溢出到磁盘,从而可以在任何大小的数据上运行良好。同样,不适合内存的缓存数据集要么溢出到磁盘,要么在需要时动态重新计算,这由RDD的存储级别决定。
请参阅以下链接,了解有关存储级别的更多信息以及如何在这些级别之间选择合适的存储级别:programming-guide.html