Mapreduce

MapReduce是一个计算模型,包括Map和Reduce两个阶段 ,在运行时,表现为Java进程

JobTracker负责接收客户提交的任务、分发任务、资源调用、任务监控

MapReduce执行的步骤:

1.1、读取HDFS中的文件,解析里面每一行成一个个的键值对. 每一个键值对调用一次Map

   键值对  键是每一行的字节其实位置字节偏移量  value是行文本内容

1.2、自定义Map类,覆盖其中的map方法,实现自己的业务逻辑,把输入的<K,V>对转换为新的<K,V>对输出

1.3、对输出的<K,V>对进行分区

1.4、对每个分区的数据根据Key进行排序、分组。 分组就是把相同的Key的Value放到一起

1.5、(可选)对数据进行归约


1.6、多个Map任务,根据不同分区,传送到不同的reduce的节点上

1.7、reduce会接收来自多个Map任务的相同分区的数据,然后进行合并和排序

     自定义Reduce类,覆盖其中的reduce方法,实现自己的业务逻辑,把输入的<K,V>对转换为新的<K,V>对输出

1.8、 对reduce输出的<K,V>写到HDFS中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值