我的星火应用程序在内存存储中显示非零的数量,即使我不使用持久化或缓存。即使我不使用持久化/高速缓存,是否会触发缓存我的数据?
发布于 2019-10-07 22:51:01
这可能是星火优化试图“广播”您的较小的数据集给每个工作人员,以节省网络使用。
引用自Scaladocs
广播变量。广播变量允许程序员将只读变量缓存在每台机器上,而不是将其副本与任务一起发送。例如,它们可以用于以高效的方式为每个节点提供一个大型输入数据集的副本。Spark还试图使用高效的广播算法来分配广播变量,以降低通信成本。
此外,在内存洗牌将花费您的RAM。
引用自5~6成熟
在内部,来自单个映射任务的结果被保存在内存中,直到它们无法满足。然后,根据目标分区对这些文件进行排序,并将其写入单个文件。在减少方面,任务读取相关的排序块。
https://stackoverflow.com/questions/58277338
相似问题