《Hadoop与大数据挖掘》一2.1 Hadoop概述

简介:

本节书摘来华章计算机《Hadoop与大数据挖掘》一书中的第1章 ,第1.1节,张良均 樊 哲 位文超 刘名军 许国杰 周 龙 焦正升 著 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.1 Hadoop概述

2.1.1 Hadoop简介
随着现代社会的发展,各种信息数据存量与增量都非常大,很多情况下需要我们能够对TB级,甚至PB级数据集进行存储和快速分析,然而单机的计算机,无论是硬盘存储、网络IO、计算CPU还是内存都是非常有限的。针对这种情况,Hadoop应运而生。
那么,Hadoop是什么呢?我们可以很容易在一些比较权威的网站上找到它的定义,例如:Hadoop是一个由Apache基金会所开发的分布式系统基础架构,它可以使用户在不了解分布式底层细节的情况下开发分布式程序,充分利用集群的威力进行高速运算和存储。
从其定义就可以发现,它解决了两大问题:大数据存储、大数据分析。也就是Hadoop的两大核心:HDFS和MapReduce。
HDFS(Hadoop Distributed File System)是可扩展、容错、高性能的分布式文件系统,异步复制,一次写入多次读取,主要负责存储。
MapReduce为分布式计算框架,主要包含map(映射)和reduce(归约)过程,负责在HDFS上进行计算。
要深入学习Hadoop,就不得不提到Google的3篇相关论文,也就是Hadoop的基础理论。

  • 2003年发表的《The Google File System》,奠定了“首个商用的超大型分布式文件系统”,从而验证这种分布式文件系统架构是可行的。
  • 2004年发表的《MapReduce: Simplifed Data Processing on Large Clusters》,汲取了函数式编程设计思想,倡导把计算移动到数据思想,该思想的应用大大加快了数据的处理分析。
  • 2006年发表的《Bigtable: A Distributed Storage System for Structured Data》,这一论文同样也是告诉大家,这种分布式数据库的架构是可行的。
    说到这里,我们来简单了解下Hadoop的发展历史,如图2-1所示。


image

2002~2004年,第一轮互联网泡沫刚刚破灭,很多互联网从业人员都失业了。我们的“主角”Doug Cutting也不例外,他只能写点技术文章赚点稿费来养家糊口。但是Doug Cutting不甘寂寞,怀着对梦想和未来的渴望,与他的好朋友Mike Cafarella一起开发出一个开源的搜索引擎Nutch,并历时一年把这个系统做到能支持亿级网页的搜索。但是当时的网页数量远远不止这个规模,所以两人不断改进,想让支持的网页量再多一个数量级。
在2003年和2004年,Google分别公布了GFS和MapReduce两篇论文。Doug Cutting 和Mike Cafarella发现这与他们的想法不尽相同,且更加完美,完全脱离了人工运维的状态,实现了自动化。
在经过一系列周密考虑和详细总结后,2006年,Dog Cutting放弃创业,随后几经周折加入了Yahoo公司(Nutch的一部分也被正式引入),机缘巧合下,他以自己儿子的一个玩具大象的名字Hadoop命名了该项目。
当系统进入Yahoo以后,项目逐渐发展并成熟了起来。首先是集群规模,从最开始几十台机器的规模发展到能支持上千个节点的机器,中间做了很多工程性质的工作; 然后是除搜索以外的业务开发,Yahoo逐步将自己广告系统的数据挖掘相关工作也迁移到了Hadoop上,使Hadoop系统进一步成熟化了。
2007年,纽约时报在100个亚马逊的虚拟机服务器上使用Hadoop转换了4TB的图片数据,更加加深了人们对Hadoop的印象。
在2008年的时候,一位Google的工程师发现要把当时的Hadoop放到任意一个集群中去运行是一件很困难的事情,所以就与几个好朋友成立了一个专门商业化Hadoop的公司Cloudera。同年,Facebook团队发现他们很多人不会写Hadoop的程序,而对SQL的一套东西很熟,所以他们就在Hadoop上构建了一个叫作Hive的软件,专门用于把SQL转换为Hadoop的MapReduce程序。
2011年,Yahoo将Hadoop团队独立出来,成立了一个子公司Hortonworks,专门提供Hadoop相关的服务。
说了这么多,那Hadoop有哪些优点呢?
Hadoop是一个能够让用户轻松架构和使用的分布式计算的平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。其优点主要有以下几个。

  • 高可靠性:Hadoop按位存储和处理数据的能力值得人们信赖。
  • 高扩展性:Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
  • 高效性:Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
  • 高容错性:Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
  • 低成本:与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,Hadoop是开源的,项目的软件成本因此会大大降低。
  • Hadoop带有用Java语言编写的框架,因此运行在Linux生产平台上是非常理想的,Hadoop 上的应用程序也可以使用其他语言编写,比如C++。
相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
7天前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
28 2
|
7天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
9天前
|
SQL 分布式计算 Hadoop
利用Hive与Hadoop构建大数据仓库:从零到一
【4月更文挑战第7天】本文介绍了如何使用Apache Hive与Hadoop构建大数据仓库。Hadoop的HDFS和YARN提供分布式存储和资源管理,而Hive作为基于Hadoop的数据仓库系统,通过HiveQL简化大数据查询。构建过程包括设置Hadoop集群、安装配置Hive、数据导入与管理、查询分析以及ETL与调度。大数据仓库的应用场景包括海量数据存储、离线分析、数据服务化和数据湖构建,为企业决策和创新提供支持。
40 1
|
26天前
|
消息中间件 SQL 分布式计算
大数据Hadoop生态圈体系视频课程
熟悉大数据概念,明确大数据职位都有哪些;熟悉Hadoop生态系统都有哪些组件;学习Hadoop生态环境架构,了解分布式集群优势;动手操作Hbase的例子,成功部署伪分布式集群;动手Hadoop安装和配置部署;动手实操Hive例子实现;动手实现GPS项目的操作;动手实现Kafka消息队列例子等
20 1
大数据Hadoop生态圈体系视频课程
|
4月前
|
分布式计算 资源调度 搜索推荐
《PySpark大数据分析实战》-02.了解Hadoop
大家好!今天为大家分享的是《PySpark大数据分析实战》第1章第2节的内容:了解Hadoop。
44 0
《PySpark大数据分析实战》-02.了解Hadoop
|
4月前
|
存储 搜索推荐 算法
【大数据毕设】基于Hadoop的音乐推荐系统的设计和实现(六)
【大数据毕设】基于Hadoop的音乐推荐系统的设计和实现(六)
159 0
|
4月前
|
分布式计算 Hadoop Java
【大数据实训】基于Hadoop的2019年11月至2020年2月宁波天气数据分析(五)
【大数据实训】基于Hadoop的2019年11月至2020年2月宁波天气数据分析(五)
52 1
|
4月前
|
存储 分布式计算 搜索推荐
【大数据毕设】基于Hadoop的音乐管理系统论文(三)
【大数据毕设】基于Hadoop的音乐管理系统论文(三)
92 0
|
4月前
|
存储 分布式计算 资源调度
[hadoop3.x]HDFS中的内存存储支持(七)概述
[hadoop3.x]HDFS中的内存存储支持(七)概述
50 0
|
4月前
|
SQL 分布式计算 Hadoop
[AIGC ~大数据] 深入理解Hadoop、HDFS、Hive和Spark:Java大师的大数据研究之旅
[AIGC ~大数据] 深入理解Hadoop、HDFS、Hive和Spark:Java大师的大数据研究之旅

热门文章

最新文章