更新时间:2022-09-08 GMT+08:00
分享

常用概念

Hadoop shell命令

Hadoop基本shell命令,包括提交MapReduce作业,kill MapReduce作业,进行HDFS文件系统各项操作等。

MapReduce输入输出(InputFormat,OutputFormat)

MapReduce框架根据用户指定的InputFormat切割数据集,读取数据,并提供给map任务多条键值对进行处理,决定并行启动的map任务数目。MapReduce框架根据用户指定的OutputFormat,把生成的键值对输出为特定格式的数据。

map、reduce两个阶段都处理在<key,value>键值对上,也就是说,框架把作业的输入作为一组<key,value>键值对,同样也产出一组<key,value>键值对做为作业的输出,这两组键值对的类型可能不同。对单个map和reduce而言,对键值对的处理为单线程串行处理。

框架需要对key和value的类(classes)进行序列化操作,因此,这些类需要实现Writable接口。另外,为了方便框架执行排序操作,key类必须实现WritableComparable接口。

一个MapReduce作业的输入和输出类型如下所示:

(input)<k1,v1> —> map —> <k2,v2> —> 汇总数据 —> <k2,List(v2)> —> reduce —> <k3,v3>(output)

业务核心

应用程序通常只需要分别继承Mapper类和Reducer类,并重写其map和reduce方法来实现业务逻辑,它们组成作业的核心。

MapReduce WebUI界面

用于监控正在运行的或者历史的MapReduce作业在MapReduce框架各个阶段的细节,以及提供日志显示,帮助用户更细粒度地去开发、配置和调优作业。

归档

用来保证所有映射的键值对中的每一个共享相同的键组。

混洗

从Map任务输出的数据到Reduce任务的输入数据的过程称为Shuffle。

映射

用来把一组键值对映射成一组新的键值对。

分享:

    相关文档

    相关产品