题目
下面哪个是 MapReduce 适合做的?( )A. 迭代计算B. 离线计算C. 实时交互计算D. 流式计算
下面哪个是 MapReduce 适合做的?( )
A. 迭代计算
B. 离线计算
C. 实时交互计算
D. 流式计算
题目解答
答案
B. 离线计算
解析
本题主要考察MapReduce框架的适用场景,需结合各选项计算类型的特点与MapReduce的核心特性进行匹配。
关键知识点回顾
MapReduce是一种分布式计算框架,核心核心特点是离线批处理**:通过将任务拆分(Map)和结果合并(ReduceReduce),适合处理大规模静态数据集,且计算过程通常是批量、非实时的**。
选项分析
- A. 迭代计算:迭代计算需要频繁读写中间结果(如机器学习的梯度下降),而MapReduce的设计更倾向于一次性批处理,迭代过程中的数据 shuffle 和磁盘IO开销大,并非MapReduce的优势场景。
- B. 离线计算:离线计算指对非实时数据进行批量处理(如日志分析、数据仓库构建),MapReduce的“分治+批量处理”模式完全匹配这一需求,是其典型适用场景。
- C. 实时交互计算:实时计算要求低延迟(亚)秒级响应(如在线查询),而MapReduce的任务启动和 shuffle 过程延迟高,无法满足实时性。
- D. 流式计算:流式计算需持续处理动态流入的数据(如实时监控),MapReduce基于静态数据集的批处理设计,不适合动态数据流。