一、MapReduce是什么
MapReduce 是一种编程模型,是面向大数据并行处理的计算模型、框架和平台。
二、MapReduce特点
1、分布可靠
2、封装了实现的细节,基于框架API编程,面向商业分布式的编码
3、跨语言编程
三、MapReduce运行流程
1、Pre-Map
此时将文件拆分成若干个小块(split,基于block),然后将split中的数据进行分割。
2、Map
此时将分割好的数据放入到Map中(K,V)进行分区—>排序—>合并相同项(K相同,v++)
3、Reduce
此时从各个Map中拿出同一个分区的内容,排序合并,并输出结果
四、Java API
1、运行java JAR包
yarn jar jar包名 主类名 输入文件地址 输出文件地址
2、注意事项、
输出文件地址必须为空目录(不存在的目录),目的是防止数据丢失或损毁
3、Java代码实现
写三个类,mapper,reducer,dirver
其中mapper对应流程中的Map,
mapper类继承Hadoop中的mapper,其中泛型
五、 MadReduce Shell应用
1、查看二级命令
2、查看三级命令
3、常用命令
mapred -job kill job_id 终止任务执行
mapred -job -list 查看正在执行的命令
