知识卡片
结果缓存复用
内容
结果缓存复用从“不变的旧结果”出发,把上一轮中间结果以指纹缓存起来。下一轮改写计算 DAG,命中缓存的节点直接复用,适合批处理平台上的周期性重复任务。
参考来源
- 位置:《大数据日知录:架构与算法》第17章《增量计算》"17.1.1 两种计算模式"及"17.1.2 Hadoop平台下增量计算的一般模式"一节(源文件:_epub-src/OEBPS/text00022.html)
- 结论依据:原文明确"'结果缓存复用模式'在设计技术方案时,更多地从哪些旧数据的计算结果没有发生变化的角度考虑……其复用方式往往采用结果缓存,将可复用的旧数据计算结果缓存在内存或者外存文件中。DryadInc、CBP、Incoop以及IncMR系统属于此种模式",Hadoop平台下具体表现为"将上一轮计算中Map阶段的输出缓存到文件中,以供后续增量迭代重用"。
- 原始内容:"结果缓存复用模式"在设计技术方案时,更多地从哪些旧数据的计算结果没有发生变化的角度考虑,并在此基础上对数据或者计算流程进行组织,尽可能最大化地复用没有变化的旧的结果,其复用方式往往采用结果缓存,将可复用的旧数据计算结果缓存在内存或者外存文件中……对于旧数据,则可以免去Map阶段的运算,只进行Reduce阶段的运算……增量计算系统需要将上一轮计算中Map阶段的输出缓存到文件中,以供后续增量迭代重用。