火花驱动程序如何处理大于其内存的数据?考虑集群上数据的TB,我们按键或收集进行减少



Spark驱动程序如何处理大于其内存的数据?考虑集群上数据的TB,我们按键或收集进行减少。它是否会将数据泄漏到磁盘?即使有,当我们在驱动程序上有 GB 磁盘空间并且我们正在处理 TB 时会发生什么。

Spark不会"处理"太多返回到驱动程序的数据。驱动程序将遇到内存不足错误。

收集或运行需要将数据转到单个节点(驱动程序或非驱动程序(的操作应始终谨慎进行。

正如文档所警告的那样:

但是,这可能会导致驱动程序内存不足,因为collect((将整个RDD提取到一台机器上;如果你只需要打印RDD的几个元素,更安全的方法是使用take((:rdd.take(100(.foreach(println(。

最新更新