知识卡片
RDD支撑迭代
内容
Spark 的 RDD 用内存缓存和血缘重算支持迭代计算。相比每轮都落盘的 MapReduce,它更适合机器学习反复扫描同一训练集的场景,容错依靠依赖链重建。
参考来源
- 位置:《大数据日知录:架构与算法》第15章《机器学习:范型与架构》"Spark与RDD"一节(源文件:_epub-src/OEBPS/text00020.html)
- 结论依据:原文明确"Spark针对工作集数据提出了基于内存的分布式存储抽象模型:可恢复分布式数据集(RDD),这样工作集数据可以有选择性地被加载并常驻在内存中",容错方面"RDD的容错采取根据血统记录恢复的方式……Spark记载某个RDD的一系列血统记录,这样当某个RDD发生故障需要恢复时,从数据源逐步执行对应的转换操作来重新生成当前发生故障的RDD"。
- 原始内容:Spark针对工作集数据提出了基于内存的分布式存储抽象模型:可恢复分布式数据集(Resilient Distributed Datasets,简称RDD),这样工作集数据可以有选择性地被加载并常驻在内存中……RDD的容错采取根据血统记录恢复的方式……当某个RDD发生故障需要恢复时,从数据源逐步执行对应的转换操作来重新生成当前发生故障的RDD。这种容错策略效率要高于常用的检查点(Check Pointing)策略。