Hive中Map任务和Reduce任务数量计算原理

Hive中Map任务和Reduce任务数计算原理MapReduce原理Map阶段(以FileInputFormat为例)步骤:map, partition, sort, combinerInputFormat负责计算分片,一个分片对应一个Map任务,InputFormat而且还负责创建RecordReader,通过RecordReader的next()方法,然后循环调用map()方法...
摘要由CSDN通过智能技术生成

Hive中Map任务和Reduce任务数计算原理

MapReduce原理

  • Map阶段(以FileInputFormat为例)
    步骤:map, partition, sort, combiner

    • InputFormat负责计算分片,一个分片对应一个Map任务,InputFormat而且还负责创建RecordReader,通过RecordReadernext()方法,然后循环调用map()方法
    • map()方法的输入为一行文本,处理的结果先是写到内存缓冲区,达到阈值之后,溢写到磁盘,如果多次溢出,则会有多个溢出文件,这些溢出文件经过了分区,排序,而且还可能作过Combiner,map任务结束之后,多个溢出文件会合并成一个,结果写在本地
  • Reduce阶段
    步骤:copy, sort, reduce

    • reduce阶段先会进行copy,如果copy过来的文件很小,则直接copy到内存中,如果文件较大,则copy到磁盘
    • copy完成之后,会进行一个归并,由于在map端已经作过排序,所以,归并其实是在将多个有序的文件合并成一个有序的文件,这个文件中,一个key会生成一条记录,value为这个key对应的数组
    • 对归并后的文件循环调用reduce()
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值