产品经理学大数据——大数据软件框架:Hadoop框架(2)之MapReduce(分布式计算框架)
MapReduce是一种编程模型,用以大数据量地批处理计算。
- MapReduse的思想——Map & Reduce
MapReduce的思想是将批量处理的任务主要分成两个阶段(Map和Reduce阶段),所谓的Map阶段就是把数据生成“键-值”对,按键排序。中间有一步叫shuffle,把同样的key运输到同一个reducer上面去,在reducer上,因为都是同一个key,就直接可以做聚合(算出总和),最后把结果输出到HDFS上。对于应用开发者来说,你需要做的就是编写Map和Reduce函数,像中间的排序、shuffle网络传输、容错处理等,框架已经帮你做好了。
- MapReduce使用场景
JobTracker:这是主节点,只有一个,它管理所有作业,作业/任务的监控、错误处理等。它将任务分解成一系列的子任务(Map任务、Reduce任务、Shuffle操作),并分派给TaskTracker。
TaskTracker:这是从节点,可以有多个,它们接收来自JobTracker的Map Task、Reduce Task和Shuffle operations,并执行。它们与JobTracker交互,汇报任务状态。
Map Task:解析每条数据记录,并传递给用户编写的map(),并执行,最后将输出结果写入本地磁盘(如果为map-only作业,直接写入HDFS)。
Reduce Task:从Map Task的执行结果中,对数据进行排序,将数据按照分组传递给用户编写的Reduce函数执行。
- MapRudece工具的使用
我们现在很少直接使用MapReduce框架来编写程序了,而是使用基于MapReduce框架的工具来编写,或者直接用Spark等工具来编写。
MapReduce支持C/C++、Java、Ruby、Perl和Python编程语言。开发人员可以使用MapReduce库来创建任务。至于节点之间的通信和协调,输入数据集的切割,在不同机器之间的程序执行调度,处理错误等,这些都有框架完成,开发人员无需处理。Map和Reduce函数会自动在多个服务器节点上自动并行执行。
- 产品经理学大数据——大数据软件框架:Hadoop框架(4)之Zookeeper(分布式协作服务)
- 产品经理学大数据——大数据软件框架:Hadoop框架(5)之Ambari(管理工具)
- 产品经理学大数据——大数据软件框架:Hadoop框架(3)之YARN(集群资源管理器)
- 产品经理学大数据——大数据软件框架:实时流处理框架
- 产品经理学大数据——大数据软件框架:框架的选择
- 大数据时代之hadoop(五):hadoop 分布式计算框架(MapReduce)
- 大数据时代之hadoop(五):hadoop 分布式计算框架(MapReduce)
- 大数据时代之hadoop(五):hadoop 分布式计算框架(MapReduce)
- 产品经理学大数据——大数据软件框架:Spark(1)
- 大数据时代之hadoop(五):hadoop 分布式计算框架(MapReduce)
- 产品经理学大数据——大数据软件框架:Spark(2)之Scala
- 产品经理学大数据——大数据软件框架:Spark(3)之Spark SQL
- 产品经理学大数据——大数据软件框架:Spark(4)之Spark Streaming
- hadoop之魂--mapreduce计算框架,让收集的数据产生价值
- (第4篇)hadoop之魂--mapreduce计算框架,让收集的数据产生价值
- (第4篇)hadoop之魂--mapreduce计算框架,让收集的数据产生价值
- hadoop核心组件---MR(MapReduce)分布式计算框架
- hadoop之魂--mapreduce计算框架,让收集的数据产生价值
- 分布式计算开源框架Hadoop入门实践(一)
- 分布式计算框架Hadoop