1. Hadoop 的集群搭建
https://dr34m.gitee.io/2022/01/newpost-28/
2.MapReduce 核心思想
1.4 MapReduce进程
一个完整的MapReduce程序在分布式运行时有三类实例进程
A.MrAppMaster:负责整个程序的过程调度及状态协调
B.MapTask:负责Map阶段的整个数据处理流程
C.ReduceTask:负责Reduce阶段的整个数据处理流程
1.7 MapReduce编程规范
用户编写的程序分成三个部分:Mapper、Reduce和Driver
A.Mapper阶段
· 用户自定义的Mapper要继承自己的父类
· Mapper的输入数据是KV对的形式(KV的类型可自定义)
· Mapper中的业务逻辑写在map()方法中
· Mapper的输出数据是KV对的形式(KV的类型可自定义)
· map()方法(MapTask进程)对每一个<K,V>调用一次
B.Reducer阶段
· 用户自定义的Reducer要继承自己的父类
· Reducer的输入数据类型对应Mapper的输出数据类型,也是KV
· Reducer的业务逻辑写在reduce()方法中
· ReduceTask进程对每一组相同K的<K,V>组调用一次reduce()方法
C.Driver阶段
· 相当于YARN集群的客户端,用于提交我们整个程序到YARN集群,提交的是封装了MapReduce程序相关运行参数的job对象
http://www.voycn.com/article/hadoopmapreducezhishidianzongjie