我们来详细讲解一下大数据中的“单一计算”和“迭代式计算”。这是两种非常重要的计算模式,理解它们的区别和适用场景对于设计和优化大数据应用至关重要。
1. 单一计算
单一计算,也称为“一次性计算”或“无状态计算”,指的是一个作业(Job)只对输入数据执行一次处理过程,然后直接输出结果,计算过程就结束了。整个过程中,计算任务内部没有循环依赖,每个数据记录通常只被处理一次。
核心特点:
- 无状态性: 任务在处理完一条数据后,不会保留任何与这条数据相关的“状态”或“上下文”给下一条数据。每条数据的处理都是独立的。
- 数据无环: 计算的数据流是一个有向无环图(DAG)。数据从输入源流入,经过一系列转换操作,最终流向输出源,不会形成闭环。
- 高吞吐量: 由于其无状态和简单的数据流,非常适合进行大规模数据的并行处理,追求高吞吐量。
- 容错简单: 如果某个任务失败,调度器只需在另一个节点上重新执行该任务即可,因为任务本身不依赖之前的状态。
典型技术与场景:
- MapReduce: 这是最经典的单一计算模型。一个MapReduce作业包含Map和Reduce两个阶段,作业完成后就退出。
- ETL(提取、转换、加载): 将数据从源系统抽取出来,进行清洗、转换,然后加载到数据仓库中。这个过程通常每天或每小时执行一次,是一次性的。
- 批处理报表: 例如,每天凌晨计算前一天的用户活跃数、销售额等报表。
- 日志分析: 分析一天的日志文件,找出错误模式或统计访问量。
简单比喻:

最低0.47元/天 解锁文章
952

被折叠的 条评论
为什么被折叠?



