MapReduce
一. 简介
它是一个分布式计算框架,用于离线计算。(对于计算来说,我们这里讲的是广义的计算,它是计算开始的数据读取,计算开始(加减乘除、数据处理),计算结束后的存储的一种计算)
二. 优缺点
优点:
1,简化编程;
2,可以扩展机器增加运算能力;
横向扩展:添加机器
纵向扩展:在一个机器上添加硬件
3,高容错性;
4,海量数据离线计算;
缺点:
1,不擅长实时计算;
2,不擅长流式计算;
3,不擅长图计算;
三. MR的核心思想
Job(作业):一个MR程序称为一个job;
MRAppMaster(MR任务的主节点):一个job在运行时,会先启动一个进程,这个进程就是MRAPPMaster,负责job执行状态的监控,容错,和RM申请资源,提交任务等;
Map(Map阶段):Map是MapReduce程序运行的第一个阶段; Map阶段的目的就是将输入的数据,进行切分,将一个大数据切分为若干小部分;切分后,每个部分称为一个切片(split),每片数据会交给一个Task(进程)进行