经管之家App
让优质教育人人可得
立即打开
全部版块
我的主页
›
论坛
›
数据科学与人工智能
›
数据分析与数据科学
›
数据分析师(CDA)专版
一篇文章读懂大数据的黄色小象帮手––Hadoop
楼主
Mirror..
1831
0
收藏
2015-05-12
继云计算之后,大数据(Big Data)接棒成为最热门的科技潮字,和大数据有关的技术和科技接二连三成为科技圈注目的焦点。如果你也关注云端跟大数据的资讯,Hadoop 这个字出现频率一定挺高的,这个黄色小象 Logo 也应该经常亮相。
究竟 Hadoop 是什么?能够用来解决什么问题?又为什么重要?比起解释一大堆技术上的细节,倒不如把重点放在 Hadoop 处理巨量资料的角度切入了解,看 Hadoop 能够带来什么好处,同时也从这个方向反过来理解大数据。
Hadoop 简史:黄色小象的由来
Hadoop 的雏形 Nutch 最初是由 Doug Cutting 和 Mike Cafarella 针对网页相关的资料搜寻而开发,2006 年 Doug Cutting 进入 Yahoo 后成立了专业的团队继续研究发展这项技术,正式命名为 Hadoop。
Hadoop 这个名称并不代表任何英文字汇或者缩写代号,「Hadoop」来自于 Doug Cutting 儿子的一个黄色大象填充玩具1,主要塬因是开发过程中他需要为这套软体提供一个代号方便沟通,而 Hadoop 这个名字发音简单拼字容易,而且毫无意义、也没有在任何地方使用过,因此雀屏中选,黄色小象也因而成为 Hadoop 的标誌。
值得一提的是,在 Hadoop 之后所发展的几个相关软件和模组也都参考了这样的命名方式,名称不会与主要功能实际相关,而是採用与大象或其他动物有关的名称作为其开发代号,像是 Pig、Hive、ZooKeeper 等等。
什么是 Hadoop?
首先,想像有个档案大小超过 PC 能够储存的容量,那便无法储存在你的电脑裡,对吧?
Hadoop 不但让你储存超过一个伺服器所能容纳的超大档案,还能同时储存、处理、分析几千几万份这种超大档案,所以每每提到大数据,便会提到 Hadoop 这套技术。
简单来说,Hadoop 是一个能够储存并管理大量资料的云端平台,为 Apache 软体基金会底下的一个开放塬始码、社群基础、而且完全免费的软体,被各种组织和产业广为採用,非常受欢迎。
然而要懂 Hadoop,你必须先了解它最主要的两项功能:
Hadoop 如何储存资料(Store)
Hadoop 怎么处理资料(Process)
分散式档案系统 HDFS
Hadoop 是一个丛集系统(cluster system),也就是由单一伺服器扩充到数以千计的机器,整合应用起来像是一台超级电脑。而资料存放在这个丛集中的方式则是採用 HDFS 分散式档案系统(Hadoop Distributed File System)。
HDFS 的设计概念是这样的,丛集系统中有数以千计的节点用来存放资料,如果把一份档案想成一份藏宝图,机器中会有一个机器老大(Master Node)跟其他机器小弟(Slave/Worker Node),为了妥善保管藏宝图,先将它分割成数小块(block),通常每小块的大小是 64 MB,而且把每小块拷贝成叁份(Data replication),再将这些小块分散给小弟们保管。机器小弟们用「DataNode」这个程式来放藏宝图,机器老大则用「NameNode」这个程式来监视所有小弟们藏宝图的存放状态。
如果老大的程式 NameNode 发现有哪个 DataNode 上的藏宝图遗失或遭到损坏(例如某位小弟不幸阵亡,顺带藏宝图也丢了),就会寻找其他 DataNode 上的副本(Replica)进行复製,保持每小块的藏宝图在整个系统都有叁份的状态,这样便万无一失。
透过 HDFS,Hadoop 能够储存上看 TB(Tera Bytes)甚至 PB(Peta Bytes)等级的巨量资料,也不用担心单一档案的大小超过一个磁碟区的大小,而且也不用担心某个机器损坏导致资料遗失。
来看看 Yahoo 的 Hadoop cluster 系统:
MapReduce 平行运算架构
上一段提到,HDFS 将资料分散储存在 Hadoop 电脑丛集中的数个机器裡,现在我们要谈谈 Hadoop 如何用 MapReduce 这套技术处理这些节点上的资料。
在函数程式设计(Functional programming)3中很早就有了 Map(映射)和 Reduce(归纳)的观念,类似于演算法中个别击破(Divide and Conquer)的作法,也就是将问题分解成很多个小问题之后再做总和。
MapReduce 顾名思义是以 Map 跟 Reduce 为基础的应用程式。一般我们进行资料分析处理时,是将整个档案丢进程式软体中做运算出结果,而面对巨量资料时,Hadoop 的做法是採用分散式计算的技术处理各节点上的资料。
在各个节点上处理资料片段,把工作分散、分佈出去的这个阶段叫做 Mapping;接下来把各节点运算出的结果直接传送回来归纳整合,这个阶段就叫做 Reducing。这样多管齐下、在上千台机器上平行处理巨量资料,可以大大节省资料处理的时间。
黄色小象以及小象的朋友们
总和来看,Hadoop 透过 HDFS 和 MapReduce 这两项核心功能,解决了档案存放的问题、解决了系统扩张的问题、解决了系统备份的问题、解决了资料处理的问题,非常适合应用于大数据储存和大数据分析,因此被广泛接受成为大数据的主流技术。
当然 Hadoop 并没有解决所有巨量资料带来的难题,所以许多与 Hadoop 相关的技术被开发来应付巨量资料的其他需求4。像是用来处理资料的 Script 语言「Pig」、类似 SQL 语法查询功能的「Hive」、专门用在 Hadoop 上的资料库系统「HBase」等。
Hadoop 生态系:
本文来源:中国大数据
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
相关推荐
有人在研究大数据吗,hadoop?
大数据基础hadoop的必须知道
批Hadoop之父与吴甘沙有关大数据的对话
大数据:传统数据库的Hadoop梦想
一文读懂大数据的黄色小象帮手——Hadoop
Hadoop与大数据2015的趋势与挑战
【转干货】Hadoop和大数据:60款顶级大数据开源工具
[Hadoop] 【CDA大数据就业班第二期开课啦】——就学大数据
分享:如何利用 Hadoop 挖掘大数据价值
受到大数据迷因的诱惑:Hadoop与公共云
栏目导航
数据分析师(CDA)专版
经管文库(原现金交易版)
南开大学经济学院
经管在职研
行业分析报告
微观经济学
热门文章
文本分析:从经管顶刊“加分项”到学术发表 ...
CDA 认证考试大纲 2025 重磅更新:一二级考 ...
CAIE人工智能工程师认证
CDA 数据分析师:线性回归实战指南 —— 从 ...
2025中国播客行业现状与发展趋势报告
2025年三季度中国消费者消费意愿调查报告
十五五规划建议思维导图
【详细整理,24重磅!】1990-2024上市公司市场 ...
“十五五”规划建议稿解读:乘势而上,因势 ...
奇瑞首夺J.D.Power-VDS自主冠军
推荐文章
AI狂潮席卷学术圈,不会编程也能打造专属智 ...
10月重磅来袭|《打造Coze/Dify专属学术智能 ...
最快1年拿证,学费不足5W!热门美国人工智能 ...
关于如何利用文献的若干建议
关于学术研究和论文发表的一些建议
关于科研中如何学习基础知识的一些建议 (一 ...
一个自编的经济学建模小案例 --写给授课本科 ...
AI智能体赋能教学改革: 全国AI教育教学应用 ...
2025中国AIoT产业全景图谱报告-406页
关于文献求助的一些建议
说点什么
分享
微信
QQ空间
QQ
微博
扫码加好友,拉您进群
各岗位、行业、专业交流群