MapReduce作业流程

本文详细介绍了MapReduce的工作流程,从HDFS开始,通过InputFormat进行数据切分,然后RecordReader读取并解析数据进入Map阶段。接着,数据经过Partitioner分区、Spill过程中的排序与Combiner优化,最后在Reduce阶段进行处理并输出到HDFS。MapReduce通过这些步骤有效地处理和分发大数据。
摘要由CSDN通过智能技术生成


在这里插入图片描述

HDFS ——> InputFormat 阶段

InputFormat 是一个 Interface ,包含了getSplits(…) 、getRecordReader(…) 两个方法。这两个方法分别完成着以下工作:
    1)方法 getSplits 将输入的数据切分为多个逻辑上的 InputSplit,其中每一个 InputSplit 作为一个 map 的输入,InputSplit 的大小默认为 block 的大小(block 是 HDFS 存储文件的单位,默认为128MB)
    2)方法 RecordReader 将每个 InputSplit 解析成 records,再依次将 record 解析成<K,V>对。RecordReader 决定了 map 任务如何读取输入数据, 例如一行一行的读取还是一个字节一个字节的读取等等。

用户在启动 MapReduce 的时候需要指定一个 InputFormat 的 Implement:
    InputFormat 直接子类有三个:DBInputFormat、DelegatingInputFormat 和FileInputFormat,分别表示输入文件的来源为从数据库、用于多个输入以及基于文件的输入。
    对于FileInputFormat,即从文件输入的输入方式,又有五个继承子类:CombineFileInputFormat,KeyValueTextInput,NLineInoutForm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值