MapReduce学习

MapReduce是一种用于大规模数据处理的分布式计算框架,起源于应对web2.0时代的海量数据挑战。它以分布可靠、封装实现细节和跨语言编程能力为特点,通过数据划分、计算任务调度和优化,实现高效的数据处理。Map阶段将数据切片并执行映射操作,Reduce阶段则聚合结果。开发流程包括环境搭建、代码编写、编译打包、上传和执行。MapReduce常用于大数据处理和分析场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.初识MapReduce

        MapReduce是分布式计算框架,他和HDFS一样也是hadoop的重要组成部分

        它的产生背景是在web2.0时代,在数据量的指数级增长下,单机扩内存的方式已经不能满足计算需求,所以诞生了MapReduce

二.特点

        分布可靠,对数据集的操作分发给多个节点实现可靠性,每个节点周期性返回完成的任务和最新状态

        封装了实现的细节,基于api编程

        提供跨语言的编程能力

三.运行流程

        1.主要任务

                3.1.1数据划分和计算任务调度

                        将数据划分为多个数据块,每个数据块对应一个任务,自动调度节点来处理数据块

                3.1.2数据/代码相互定位(一般是代码找数据)

                        本地化数据处理,当无法进行本地化数据处理时,才会将数据发送有代码的服务器                            上进行处理

                3.1.3系统优化

                        为了减少通信开销,中间数据进入reduce节点前会进行一定的合并处理,一个                                     reduce节点所处理的数据可能来自多个map节点

        2.运行流程

                提交代码,对数据进行切片

                master调度worker执行map任务

                workker读取切片

                worker执行任务,将输出结果保存到本地

                master调度worker执行reduce任务,reduce worker读取输出文件

                执行reduce任务,将任务输出到HDFS上

        3.MapReduce  api开发流程

                搭建环境

                基于MapReduce框架编写代码,由Map,Reduce,Driver三部分组成

                编译打包

                上传至本地

                yarn  jar命令执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值