好程序员大数据培训分享Apache-Hadoop简介
moboyou 2025-07-02 05:46 4 浏览
好程序员大数据培训分享Apache-Hadoop简介
好程序员大数据培训分享Apache-Hadoop简介,一、Hadoop出现的原因:现在的我们,生活在数据大爆炸的年代。国际数据公司已经预测在2020年,全球的数据总量将达到44ZB,经过单位换算后,至少在440亿TB以上,也就是说,全球每人一块1TB的硬盘都存储不下。
一些数据集的大小更远远超过了1TB,也就是说,数据的存储是一个要解决的问题。同时,硬盘技术也面临一个技术瓶颈,就是硬盘的传输速度(读数据的速度)的提升远远低于硬盘容量的提升。我们看下面这个表格:
硬盘瓶颈比较
可以看到,容量提升了将近1000倍,而传输速度才提升了20倍,读完一个硬盘的所需要的时间相对来说,更长更久了(已经违反了数据价值的即时性)。读数据都花了这么长时间,更不用说写数据了。
对于如何提高读取数据的效率,我们已经想到解决的方法了,那就是将一个数据集存储到多个硬盘里,然后并行读取。比如1T的数据,我们平均100份存储到100个1TB硬盘上,同时读取,那么读取完整个数据集的时间用不上两分钟。至于硬盘剩下的99%的容量,我们可以用来存储其他的数据集,这样就不会产生浪费。解决读取效率问题的同时,我们也解决了大数据的存储问题。
但是,我们同时对多个硬盘进行读/写操作时,又有了新的问题需要解决:
1、硬件故障问题。一旦使用多个硬件,相对来说,个别硬件产生故障的几率就高,为了避免数据丢失,最常见的做法就是复制(replication):文件系统保存数据的多个复本,一旦发生故障,就可以使用另外的复本。
2、读取数据的正确性问题。大数据时代的一个分析任务,就需要结合大部分数据来共同完成分析,因此从一个硬盘上读取的数据要与从其他99个硬盘上读取的数据结合起来使用。那么,在读取过程中,如何保证数据的正确性,就是一个很大的挑战。
有人会想,既然使用了多个硬盘,为什么不用配有多个硬盘的关系型数据库来进行数据的存储和分析呢?其实,这个主要取决于硬盘发展的一个技术限制,那就是需要寻址操作。我们从关系型数据库中读取数据包含着大量的寻址操作,那么寻址所产生的时间开销必然会大大的增加,再加上读取数据的时间,就更加漫长了。还有一个原因,关系型数据库不适合存储半结构化和非结构化的数据,而这个时代,半结构化和非结构化的数据占90%,而结构化数据只占10%。
针对于上述几个问题,Hadoop为我们提供了一个可靠的且可扩展的存储和分析平台,此外,由于Hadoop运行在商用硬件上且是开源的,因此Hadoop的使用成本是比较低了,在用户的承受范围内。
二、Hadoop的简介
Hadoop是Apache基金会旗下的一个开源的分布式计算平台,是基于Java语言开发的,有很好的跨平台特性,并且可以部署在廉价的计算机集群中。用户无需了解分布式底层细节,就可以开发分布式程序,充分利用集群的威力进行高速运算和存储。
最初,Hadoop的核心技术是HDFS和MapReduce。
HDFS是Hadoop分布式文件系统(Hadoop Distributed File System)的简称,它具有较高的读写速度,很好的容错性和可伸缩性,为海量的数据提供了分布式存储,其冗余数据存储的方式很好的保证了数据的安全性。
MapReduce是一种用于并行处理大数据集的软件框架(编程模型)。用户可在无需了解底层细节的情况下,编写MapReduce程序进行分析和处理分布式文件系统上的数据,MapReduce保证了分析和处理数据的高效性。
因其在分布式环境下提供了高效的,海量的数据的优秀处理能力,Hadoop被公认为大数据行业中的标准开源软件。几乎所有主流的厂商如谷歌,雅虎,微软,淘宝等等这样的大公司都是围绕Hadoop进行提供开发工具,开源软件,商业化工具或技术服务的。
在Hadoop2.0以后,又引入了另一个核心技术:YARN(Yet Another Resource Negotiator)。它是一个任务调度和集群资源管理系统,主要有两类长期运行的守护线程来提供自己的核心服务:一类是用于管理集群上资源使用的资源管理器(Resouce Manager),另一类是运行在集群中各个节点上且能够启动和监控容器(container)的节点管理器(Node Manager)。
发展到现在的Hadoop3.x可以概括成以下五个模块:
- Hadoop Common:由原来的Hadoop core更名而来。以前的版本中core包含HDFS、MapReduce及其其他公共部分。后来HDFS和MapReuce被分离出来作为独立的子项目,剩下的公共部分更名为Common。主要包括系统配置工具Configuration、远程过程调用RPC、序列化机制和Hadoop抽象文件系统FileSystem等。它们为在通用硬件上搭建云计算环境提供基本的服务,并为运行在该平台上的软件开发提供了所需的API。
- Hadoop HDFS:Hadoop的核心技术之一,分布式文件系统
- Hadoop YARN:Hadoop2.0以后新增的一个核心技术,资源管理系统
- Hadoop MapReduce:Hadoop的核心技术之一,编程模型,用于大规模数据集的并行计算。
- Hadoop Ozone:HDFS的一个扩展方向,对象存储技术。
关于Hadoop这个名字的由来,该项目的创建者Doug Cutting是这样解释的:“这个名字是我孩子给一个棕黄色的大象玩具命名的。我的命名标准就是简短,容易发音和拼写,没有太多的意义,并且不会被用于别处。小孩子恰恰是这方面的高手。”
Hadoop的发音是 [haedu:p]。
三、Apache Hadoop发展史
Hadoop由知名项目Apache Lucene的创始人道格·卡丁(doug Cutting)创建。
- 它起源于Apache Nutch 项目(一个网页爬取工具和搜索引擎系统,后来遇到大数据量的网页存储问题)。
- 2003年,谷歌发表的一篇论文(描述的是“谷歌分布式文件系统”,简称GFS)给了Apache Nutch项目的开发者灵感。
- 2004年,Nutch的开发者开始着手 NDFS(Nutch的分布式文件系统)。
- 2004年 ,谷歌又发表了一篇介绍MapReduce系统的论文。
- 2005年,Nutch项目实现了一个MapReduce系统
- 2006年,开发人员将NDFS和MapReduce移出Nutch项目形成一个子项目,命名Hadoop
- 2008年,Hadoop已称为Apache的顶级项目。
- 2008年4月,Hadoop打破世界记录,成为最快排序1TB数据的系统,排序时间为209秒
- 2009年,Hadoop把1TB数据的排序时间缩短到62秒。
- 从此名声大噪,现在很多公司都在使用,如雅虎,last.fm,FaceBook,《纽约时报》等等
- 目前Hadoop的版本发展,hadoop1.x > hadoop2.x > hadoop3.x
四、Hadoop的特点
Hadoop因为是基于Java语言开发的,因此最理想的运行平台就是Linux系统了。它也支持多种编程语言,如C++,PHP等等。
也可以总结出以下优点:
- 高可靠型。Hadoop按位存储和处理数据的能力值得人们信赖。
- 高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快,可以处理PB级数据。
- 高可扩展性。Hadoop的设计目标是可以高效的稳定的运行在廉价的计算机集群上,可以扩展到数以千计的计算机节点。
- 高容错性。采用冗余数据存储方式,自动保存数据的多个复本,并且能够自动将失败的任务进行重新分配
- 成本低。Hadoop采用廉价的计算机集群,成本比较低,普通用户也可以使用自己的电脑来搭建Hadoop环境
相关推荐
- php宝塔搭建部署实战服务类家政钟点工保姆网站源码
-
大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的服务类家政钟点工保姆网站源码,感兴趣的朋友可以自行下载学习。技术架构PHP7.2+nginx+mysql5.7+JS...
- 360自动收录简介及添加360自动收录功能的详细教程
-
以前我们都是为博客站点添加百度实时推送功能,现在360已经推出了自动收录功能,个人认为这个功能应该跟百度的实时推送功能差不多,所以我们也应该添加上这个功能,毕竟360在国内的份额还是不少的。360自动...
- 介绍一个渗透测试中使用的WEB扫描工具:Skipfish
-
Skipfish简介Skipfish是一款主动的、轻量级的Web应用程序安全侦察工具。它通过执行递归爬取和基于字典的探测来为目标站点准备交互式站点地图。该工具生成的最终报告旨在作为专业Web应用程序安...
- 好程序员大数据培训分享Apache-Hadoop简介
-
好程序员大数据培训分享Apache-Hadoop简介 好程序员大数据培训分享Apache-Hadoop简介,一、Hadoop出现的原因:现在的我们,生活在数据大爆炸的年代。国际数据公司已经预测在20...
- LPL比赛数据可视化,完成这个项目,用尽了我的所有Python知识
-
LPL比赛数据可视化效果图完成这个项目,我感觉我已经被掏空了,我几乎用尽了我会的所有知识html+css+javascript+jQuery+python+requests+numpy+mysql+p...
- 网站被谷歌标记“有垃圾内容”但找不到具体页面?
-
谷歌的垃圾内容判定机制复杂,有时违规页面藏得深(如用户注册页、旧测试内容),或是因第三方插件漏洞被注入垃圾代码,导致站长反复排查仍毫无头绪。本文提供一套低成本、高执行性的解决方案。你将学会如何利用谷歌...
- 黑客必学知识点--如何轻松绕过CDN,找到真实的IP地址
-
信息收集(二)1、cms识别基础为什么要找CMS信息呢?因为有了CMS信息之后,会给我们很多便利,我们可以搜索相应CMS,有没有公开的漏洞利用根据敏感文件的判断:robots.txt文件robots....
- Scrapy 爬虫完整案例-提升篇
-
1Scrapy爬虫完整案例-提升篇1.1Scrapy爬虫进阶案例一Scrapy爬虫案例:东莞阳光热线问政平台。网站地址:http://wz.sun0769.com/index.php/que...
- 如何写一个疯狂的爬虫!
-
自己在做张大妈比价(http://hizdm.com)的时候我先后写了两个版本的爬虫(php版本和python版本),虽然我试图将他们伪装的很像人但是由于京东的价格接口是一个对外开放的接口,如果访问频...
- 程序员简历例句—范例Java、Python、C++模板
-
个人简介通用简介:有良好的代码风格,通过添加注释提高代码可读性,注重代码质量,研读过XXX,XXX等多个开源项目源码从而学习增强代码的健壮性与扩展性。具备良好的代码编程习惯及文档编写能力,参与多个高...
- Python爬虫高级之JS渗透登录新浪微博 | 知了独家研究
-
小伙伴们看到标题可能会想,我能直接自己登陆把登陆后的cookie复制下来加到自定义的请求头里面不香嘛,为什么非要用python模拟登录的过程?如果我们是长期爬取数据,比如每天早上中午和晚上定时爬取新浪...
- 使用Selenium实现微博爬虫:预登录、展开全文、翻页
-
前言想实现爬微博的自由吗?这里可以实现了!本文可以解决微博预登录、识别“展开全文”并爬取完整数据、翻页设置等问题。一、区分动态爬虫和静态爬虫1、静态网页静态网页是纯粹的HTML,没有后台数据库,不含程...
- 《孤注一掷》关于黑客的彩蛋,你知道多少?
-
电影总是能引发人们的好奇心,尤其是近日上映的电影《孤注一掷》。这部电影由宁浩监制,申奥编剧执导,是一部反诈骗犯罪片。今天给大家讲解一下影片潘生用的什么语言,以及写了哪些程序。揭秘影片中的SQL注入手法...
- python爬虫实战之Headers信息校验-Cookie
-
一、什么是cookie上期我们了解了User-Agent,这期我们来看下如何利用Cookie进行用户模拟登录从而进行网站数据的爬取。首先让我们来了解下什么是Cookie:Cookie指某些网站为了辨别...
- 「2022 年」崔庆才 Python3 爬虫教程 - urllib 爬虫初体验
-
首先我们介绍一个Python库,叫做urllib,利用它我们可以实现HTTP请求的发送,而不用去关心HTTP协议本身甚至更低层的实现。我们只需要指定请求的URL、请求头、请求体等信息即...
- 一周热门
- 最近发表
- 标签列表
-
- curseforge官网网址 (16)
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle 数据导出导入 (16)
- oracle两个表 (20)
- oracle 数据库 字符集 (20)
- oracle安装补丁 (19)
- matlab化简多项式 (20)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- c语言编程小知识大全 (17)
- css class选择器用法 (25)
- css样式引入 (30)
- html5和css3新特性 (19)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)
- 网站管理平台php源码 (19)
- php小说爬取源码 (23)