MapReduce的编程思想(1)
MapReduce的编程思想(1)
MapReduce的过程(2)
1. MapReduce采用分而治之的思想,将数据处理拆分为主要的Map(映射)与Reduce(化简)两步,MapReduce操作数据的最小单位是一个键值对。
2. MapReduce计算框架为主从架构,分别是JobTracker与TaskTracker。
- JobTracker在集群中为主的角色,它主要负责任务调度和集群资源监控,并不参与具体的计算。
- TaskTracker在集群中为从的角色,它主要负责汇报心跳和执行JobTracker的命令(启动任务、提交任务、杀死人物、杀死作业和重新初始化)。
- 客户端,用户编写MapReduce程序通过客户端提交到JobTracker。
3. MapReduce作业(job)是指用户提交的最小单位,而Maop/Reduce任务(task)是MapReduce计算的最小单位。
- MapReduce作业由JobTracker的作业分解模块分拆为任务交给各个TaskTracker执行,在MapReduce计算框架中,任务分为两种,Map任务和Reduce任务。
4. MapReduce的计算资源划分
- Hadoop的资源管理采用了静态资源设置方案,即每个节点配置好Map槽和Reduce槽的数据量,一旦Hadoop启动后将无法动态更改。
- TaskTracker能启动的任务数量是由TaskTracker配置的任务槽(slot)决定。
- Map任务只能使用Map槽,Reduce任务只能使用Reduce槽。
5. MapReduce的局限性
- MapReduce的执行速度慢。
- MapReduce过于底层。
- 不是所有算法都能用MapReduce实现。
MapReduce的编程思想(1)
MapReduce的过程(2)

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Hadoop2.7实战v1.0之Hive-2.0.0+MySQL远程模式安装
环境:Apache Hadoop2.7分布式集群环境(HDFS HA,Yarn HA,HBase HA) 元数据库mysql部署在hadoop-01机器上 user:hive password:hive database:hive_remote_meta hive服务端部署在hadoop-01机器上 hive客户端部署在hadoop-02机器上 1.Install MySQL5.6.23 on hadoop-01 2.Create db and user hadoop-01:mysqladmin:/usr/local/mysql:>mysql -uroot -p mysql> create database hive_remote_meta; Query OK, 1 row affected (0.04 sec) mysql> create user 'hive' identified by 'hive'; Query OK, 0 rows affected (0.05 sec) mysql> grant all privileges on hive_remot...
-
下一篇
MapReduce的过程(2)
MapReduce的编程思想(1) MapReduce的过程(2) 1. MapReduce从输入到输出 一个MapReduce的作业经过了input、map、combine、reduce、output五个阶段。 其中combine阶段不一定发生,map输出的中间结果被分发到reduce的过程称为shuffle(数据混洗)。 shuffle阶段会发生copy(复制)和sort(排序)。 Reduce任务默认在Map任务数量完成5%才开始启动。 2. input HDFS上的文件作为MapReduce的输入,org.apache.hadoop.mapreduce.InputFormat类的子类FileInputFormat类将作为输入的HDFS上的文件切分形成输入分片(InputSplit),每个InputSplit将作为一个Map任务的输入,再将InputSplit解析为键值对。 InputSplit只是对数据逻辑上的分片,不会在磁盘上将文件切分、存储。 - 元数据信息由文件路径、文件开始的位置、文件结束的位置、数据块所在的host4部分组成。 InputSplit的数量=文件大小/I...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 2048小游戏-低调大师作品
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- MySQL数据库在高并发下的优化方案
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker快速安装Oracle11G,搭建oracle11g学习环境