gpt4 book ai didi

apache-spark - 如果一个分区丢失,我们可以使用lineage来重建它。是否会再次加载基础 RDD?

转载 作者:行者123 更新时间:2023-12-04 05:27:11 25 4
gpt4 key购买 nike

我阅读了论文“弹性分布式数据集一种用于内存集群计算的容错抽象”。作者说,如果一个分区丢失了,我们可以使用lineage来重建它。但是,原始 RDD 现在不存在于内存中。
那么是否会再次加载基础 RDD 来重建丢失的 RDD 分区?

最佳答案

是的,正如您提到的,如果用于创建分区的 RDD 不再在内存中,则必须再次从磁盘加载并重新计算。如果用于创建当前分区的原始 RDD 也不存在(既不在内存中也不在磁盘上),那么 Spark 将不得不再次返回并重新计算先前的 RDD。在最坏的情况下,Spark 将不得不一直返回到原始数据。

如果你有像上面描述的那样的长谱系链,作为最坏的情况可能意味着很长的重新计算时间,那么你应该考虑使用 checkpointing它将中间结果存储在可靠的存储(如 HDFS)中,这将阻止 Spark 一直返回到原始数据源并使用检查点数据。

@Comment:我在查找任何官方引用资料时遇到问题,但从我从他们的代码库中记得的内容来看,Spark 只能重新创建丢失的数据部分。

关于apache-spark - 如果一个分区丢失,我们可以使用lineage来重建它。是否会再次加载基础 RDD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31778497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com