知识卡片
部分重算
内容
部分重算只找出受新数据影响的实体,再读取这些实体的全量相关事实重新计算。它保留重算算法的简单性,同时避免扫描整个主数据集,是增量和全量之间的实用中间态。
参考来源
- 位置:《大数据系统构建:可扩展实时数据系统构建原理与最佳实践》第18章《深入Lambda架构》"18.2.1 增量的批处理"一节(源文件:_epub-src/OEBPS/Text/127.xhtml)
- 结论依据:原文以生日推理为例,定义部分重新计算为"对于新批量的数据,找出有新年龄样本的人。从主数据集中检索出……所有人的所有年龄样本。使用……年龄样本和新批量中的年龄样本,重新计算……生日。合并新计算出的生日到现有的服务层视图",并说明"这不是完全增量的,因为它仍然使用了主数据集。但是它通过忽略最新数据集中没有改变的人,节约了进行完整重新计算的大部分成本"。
- 原始内容:有另一种模糊了增量和重新计算之间界线的方法,让你能够两全其美。这种技术被称为部分重新计算……关键的想法是检索所有变化了的实体的相关数据,在检索到的数据和新数据上运行正常的重新计算算法,然后将这些结果合并到现有的视图中。部分重新计算的优势是,它们可以非常高效地实现。