Hadoop架构、组件、及其术语汇总和理解

news2025/8/13 12:17:15

推荐大象教程,介绍Hadoop、HDFS、MapReduce架构和工作原理相对来说非常的清晰。其内容是与《Hadoop the Definitive Guide》基本一致的。讲解的很细致、细节,又带了一些个人的理解和举例子,比较易懂,是比Hadoop官网更值得一看的入门教程。

Hadoop 教程 | Hadoop 教程

HDFS 教程 | HDFS 教程

MapReduce 教程 | MapReduce 教程

或者 51CTO的这个Hadoop专题系列文章:

 https://blog.51cto.com/u_12279910/category14/p_1

中文名称/问题基本概念理解/名词解释/个人理解和举例备注
MapReduce 键值对,什么时候需要自己来定义和处理? 平时拉取数据的时候并没有定义key使用 Hadoop 的时候,键和值并非是数据的固有属性,它只是在对数据做分析时人为选择的一种策略。MapReduce 把处理过程分成两个阶段:Map 阶段和 Reduce 阶段。每个阶段的输入数据和输出数据都是以键值对的形式出现。
1、当模式是静态的时候,我们可以直接使用模式的列,比如Hive表。
2、如果模式是非静态的,就不能用列的,因为没有列的概念了,只能使用键和值来处理数据。比如自己写MapReduce处理方法。
参考博文:https://blog.51cto.com/u_12279910/category14/p_2
 MapReduce 框架是怎么生成键值对的??

InputSplit(拆分键值对) 和RecordReader(存储的就是键值对)相互交互,将数据转成键值对的形式。
MapReduce 过程中,在数据传输给 mapper 之前,数据首先被转换成键值对,因为 mapper 只能处理键值对形式的数据。
Hadoop MapReduce 生成键值对的过程如下:
(1)InputSplit:这个是数据的逻辑表示形式。单个独立的 Mapper 处理的数据就是由 InputSplit 提供的。
(2)RecordReader:它和 InputSplit 交互,并且把数据分片转换成适合 Mapper 读取的记录,这里的记录其实就是数据的键值对形式。默认情况下,RecordReader 使用 TextInputFormat 把数据转换成键值对。RecordReader 和 InputSplit 的交互直到文件读取完成才停止。

在 MapReduce 框架里面,map 函数处理某个键值对并发出一定数量的键值对,Reduce 函数处理按相同键分组的值,并发出另一组键值对作为输出。map 的输出类型应该和 reduce 的输入类型一致。比如:
Map: (K1, V1) -> list (K2, V2)
Reduce: {(K2, list (V2 }) -> list (K3, V3)
K2,V2 数据类型是要保持一致的。
 
Hadoop 中生成键值对需要依赖什么?Hadoop 中键值对的生成取决于数据集和所需的输出。通常,键值对在4个位置指定:Map 输入、Map 输出、Reduce 输入和 Reduce 输出。
1、Map 输入
map 输入默认把数据文件的行数为键(key),数据行对应的内容作为。可以对 InputFormat 进行定制化开发,可以修改这个默认设置。
2、Map 输出
Map 主要负责过滤数据,并为数据基于键分组提供基础。
Key:它可能是字段、文本、对象,Reducer 端会根据 Key 对数据做分组和聚合。
Value:它可能是字段、文本、对象。它会被单独的 reduce 函数处理。
3、Reduce 输入:Map 的输出作为 Reduce的输入,也就是说,Reduce 的输入数据和 Map 输出数据是一样的。
4、Reduce 输出: 这个取决于所需要的输出是怎么样的。
MapReduce 键值对举例
假如有个存储在 HDFS 的文件的内容如下:
John is Mark Joey is John
1.利用 InputFormat,我们就可以知道这个文件是怎么被分片和读取的。默认情况下,RecordReader 使用 TextInputFormat 把这个文件转换成键值对数据。
Key:这个是键值对的键,它是数据行的偏移量(行号)。
Value:值就是数据行具体内容,不包含行终止符。

根据上文件的内容,具体的 Key 和 Value 的内容如下:
Key 是 0
Value 是  John is Mark Joey is John
Hadoop工作原理Hadoop系列之Hadoop工作原理(2)_51CTO博客_hadoop【 
Hadoop MapReduce计算框架中,有多少个工种? 各自负责的职责功能是什么?
把这些默默工作的工种都列出来,理解其工作内容,表示敬意

生产设备工具(生产资源): CPU、内存、磁盘、网络
生产资料:数据
生产人员:Yarn、ResourceManager、ApplicationMaster、NodeManager、Job/Job-DAG、
生产人员的工作和管理技能:
模拟现实世界的项目管理、团队组成、工作岗位和职责。
拟人化来理解Hadoop这个团队是如何完成 来自需求方(我)的一个数据计算任务的。
模拟一次Hadoop工作间的现场参观。了解其团队人员组成、岗位职责划分、生产资料的调度/分发/加工/存储、生产工具管理、项目管理、突发状况/风险管理、结果交付等。
它的职责是什么?
它的直接下属是谁?
为什么这个团队里需要有这么个角色?
它的工作或管理技能手段是什么?
Yarn 一个资源管理系统,其作用就是把资源管理和任务调度/监控功分割成不同的进程。Yarn 有一个全局的资源管理器叫 ResourceManager,每个 application 都有一个 ApplicationMaster 进程。一个 application 可能是一个单独的 job 或者是 job 的 DAG (有向无环图)。

在 Yarn 内部有两个守护进程,分别是 ResourceManager 和 NodeManager。ResourceManager 负责给 application 分配资源,而 NodeManager 负责监控容器使用资源情况,并把资源使用情况报告给 ResourceManager。这里所说的资源一般是指CPU、内存、磁盘、网络等。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/14995.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Assignment写作怎么避免不及格的情况出现?

俗语说得好,犯错误是在所难免的。中西方教育方式大不相同,对Assignment的写作要求也有所不同。刚到国外时,留学生对国外的教育制度和学习过程缺乏了解。难怪在日常学习中,尤其是在英文Assignment写作过程中,留学生都会…

限时开源,来自大佬汇总的Kafka限量笔记,绝对不会后悔!

前言 今天我们来聊聊 Kafka ,主要是带你重新认识一下 Kafka,聊一下 Kafka 中比较重要的概念和问题。 我们现在经常提到 Kafka 的时候就已经默认它是一个非常优秀的消息队列了,我们也会经常拿它给 RocketMQ、RabbitMQ 对比。我觉得 Kafka 相…

GaussDB CN服务异常实例分析

摘要:先通过OPS确认节点状态是否已经恢复,或登录后台执行cm_ctl query -Cv确认集群是否已经Normal。本文分享自华为云社区《【实例状态】GaussDB CN服务异常》,作者:酷哥。 确认节点状态 先通过OPS确认节点状态是否已经恢复&…

sqoop部署

一、实验介绍 1.1实验内容 本次实验包括sqoop安装部署及利用Sqoop在mysql数据库与hive之间进行数据迁移。 1.2实验知识点 Sqoop安装 mysql到Hive数据迁移 1.3实验环境 Sqoop-1.4.7 网易云平台 1.4实验资源 资源名称存储目录Sqoop安装包/opt/software/package/1.5实验步…

原生 canvas 如何实现大屏?

前言 可视化大屏该如何做?有可能一天完成吗?废话不多说,直接看效果,线上 Demo 地址 lxfu1.github.io/large-scree…。 看完这篇文章(这个项目),你将收获: 全局状态真的很简单&…

多篇《Nature》和《Science》关于马约拉纳费米子的研究论文近日被撤稿

马约拉纳费米子(英语:Majorana fermion)是一种假设粒子,它的反粒子就是它本身,1937年,埃托雷马约拉纳发表论文假想这种粒子存在,因此而命名。与之相异,狄拉克费米子,指的…

当大火的文图生成模型遇见知识图谱,AI画像趋近于真实世界

导读 用户生成内容(User Generated Content,UGC)是互联网上多模态内容的重要组成部分,UGC数据级的不断增长促进了各大多模态内容平台的繁荣。在海量多模态数据和深度学习大模型的加持下,AI生成内容(AI Gen…

(七)文件——PHP

文章目录第七章 文件1 文件包含**1.1 include()函数****1.2 require()函数**2 文件的读取和写入**2.1 文件模式****2.2 文件读取****2.3 文件写入**3 文件上传3.1 创建表单3.2 创建脚本3.3 实例第七章 文件 1 文件包含 您可以在服务器执行PHP文件之前将其内容包含到另一个PHP…

支付宝"手机网站支付"主域名申请了,二级域名还要申请吗

微信商城小程序里可以用支付宝付款吗?当然可以了,不过需要去支付宝官方网站去申请一个接口,注意选对产品,支付宝提供了很多种接口,微信里要用到的支付宝付款属于“手机网站支付”这个产品,重要的事情说三遍…

一文讲解,Linux内核——内存管理(建议收藏)

一.内存的基础知识: 1.写程序到程序运行的过程: (1)编译:由编译程序将用户代码编译成若干个目标模块(把高级语言翻译成机器语言) (2)链接:由链接程序将编译…

头歌平台-MongoDB 之滴滴、摩拜都在用的索引

第1关:了解并创建一个简单索引 > use test switched to db test > db.student.insert([{_id:1,name:"王小明",age:15,score:90},{_id:2,name:"周晓晓",age:18,score:86},{_id:3,name:"王敏",age:20,score:96},{_id:4,name:&qu…

kudu集群数据节点(tserver)扩容(缩容)

背景: 4个数据节点有数据倾斜,rebalance后依旧如此,检查分片数量和分布情况也是均衡的。最后发现相同的分片在其中一个节点存储消耗的磁盘资源比其他节点要大很多,导致了这个节点磁盘消耗较快。于是决定更换节点的磁盘 操作计划如…

【freeRTOS】操作系统之一-任务调度

一. 任务调度 ​ FreeRTOS操作系统支持三种调度方式:抢占式调度,时间片调度和合作式调度。实际应用主要是抢占式调度和时间片调度,合作式调度用到的很少。 挂起/阻塞/就绪/运行 三种基本状态 进程在运行中不断地改变其运行状态。通常&…

智能网联汽车网络安全攻击与防御技术概述

作者 | 王博文 上海控安可信软件创新研究院研究员 来源 | 鉴源实验室 01 引言 在汽车电动化、网联化、智能化和共享化等新四化的发展趋势下,智能网联汽车(Intelligent Connected Vehicles,ICVs)已经是新时代的必然产物。在智能网…

【学习笔记】浅谈闵可夫斯基和

学这东西主要是 这道题 要用 233 定义:给定两个凸包AAA,BBB,定义C{ab∣a∈A,b∈B}C\{ab|a\in A,b\in B\}C{ab∣a∈A,b∈B} ,其中aaa,bbb均为坐标。 不好意思图是嫖的 首先我们感性认识一下。可以直接将一个凸包的顶点换成另一个凸包&#x…

实现登陆模块时Cookie,Session,Token的理解

目录引言一、简化版登陆(不保存登录状态)二、Session 登陆三、CookieSession 实现登录四、Token登陆引言 先思考问题: 1、如何实现登陆? (1)表单输入账号密码 (2)后台数据库验证 …

治愈系书单|林曦《只生欢喜不生愁》

《只生欢喜不生愁》是水墨画家林曦的艺术生活随笔集,谈艺术之道,论无用之美。      全书按主题分为六辑:“艺可通道”“观照世间”“得自在禅”“心安之所”“写给时间”“赤子之心”,文字轻盈、意境优雅。林曦以手艺人之道&a…

Java#13(String Builder介绍及其常用办法)

目录 一.String Builder 1.理解:可以将String Builder当作一个容器,创建之后的内容是可以变的 2.作用:可以提高字符串的操作效率 二. StringBuilder中的常用方法 1.public StringBuilder append (任意类型) 添加数据,并返回对象本身 2.public StringBuild…

Keysight是德科技e5063A网络分析仪-安泰测试

Keysight E5063A ENA 是一款经济适用的台式矢量网络分析仪,可用于测试简单的无源元器件,例如频率最高达到 18 GHz 的天线、滤波器、电缆或连接器。 作为业界闻名的 ENA 系列中的一员,它传承了一致的测量框架,以便提高效率和生产率…

大学生静态HTML鲜花网页设计作品 DIV布局网上鲜花介绍网页模板代码 DW花店网站制作成品 web网页制作与实现

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…