可不可以只要reduce不要map ?

大数据技术的核心思想是分治;

分布式计算引擎的核心思想是分治+规约;

分治和规约体现在mapreduce 框架中,

就是map +reduce 

map是对一份大的数据集,切成小份后各个击破,里面封装着对每一条数据的处理逻辑,对于一些简单的应用来说把每一条数据转化成为想要的样子,就可以直接输出,不需要reduce 过程

但是,每条数据之间有交集,需要做聚合汇总,就必须有reduce 阶段

reduce本质上是reduce By Key,将有相同Key的数据进行合并,在map 到reduce 的中间过程,会将map 的结果根据key 进行排序和重组,即sort,combine 也就是shuffle 过程

所以,对于mapreduce 框架来说,reduce 阶段不可以脱离map 而单独存在,因为reduce 本质上是reduce by key ,必须要通过map 阶段来定义哪个是key,哪个是value,以此作为reduce 的输入

在spark 中可以直接用reduce 吗?可以,他不需要map 来定义

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值