《Spark数据分析:基于Python语言 》 —1 大数据、Hadoop、Spark介绍
第一部分
Spark基础
第1章 大数据、Hadoop、Spark介绍
第2章 部署Spark
第3章 理解Spark集群架构
第4章 Spark编程基础
第1章
大数据、Hadoop、Spark介绍
在古代,人们使用牛来拉重物,而当一头牛拉不动的时候,人们并不会尝试把牛养得更壮。我们也不应该尝试使用更强大的计算机,而应该尝试使用更多的计算机。
—美国计算机科学家,海军准将格蕾丝·穆雷·赫柏
本章提要
大数据与Apache Hadoop项目简介
Hadoop核心组件(HDFS和YARN)概览
Apache Spark简介
PySpark编程所需的Python基础,包括函数式编程基础知识
Hadoop和Spark项目都和大数据运动密不可分。从项目早期主要用于搜索引擎厂商和学术界,到现在用于从数据仓库到复杂事件处理(Complex Event Processing,CEP)再到机器学习的各种各样的应用中,Hadoop和Spark已经在数据格局中做出了不可磨灭的贡献。
本章会介绍一些基本的分布式计算概念、Hadoop项目和Spark项目、Python函数式编程,为你后续的学习打下坚实的基础。
1.1 大数据、分布式计算、Hadoop简介
在讨论Spark之前,有必要回顾并理解所谓“?大数据?”的历史。要想成为精通Spark的专家,你不仅需要理解Hadoop以及Spark对它的用法,还要理解Hadoop项目的一些核心概念,比如数据本地化、无共享和映射-归约(MapReduce),因为它们对于Spark而言都适用且不可或缺。
1.1.1 大数据与Hadoop简史
我们常说的“?大数据?”是一套数据存储和处理的方法论,它最早在本世纪初出现于搜索引擎厂商,主要是谷歌和雅虎。搜索引擎厂商是第一批遇到互联网规模(Internet-scale)问题的,主要问题是如何处理与存储互联网世界里所有文件的索引。尽管现在互联网的体量比起当初早已翻了数倍,但上述问题在当时依然是一个巨大的挑战。
雅虎和谷歌分别独立入手开发解决这一挑战的方法。在2003年,谷歌发表了一篇题为《The Google File System》的白皮书。紧接着,在2004年,谷歌又发布了另一篇题为《MapReduce: Simplif?ied Data Processing on Large Clusters》的白皮书。差不多在同一时间,Doug Cutting(公认的Hadoop项目创始人)和Mike Cafarella正在忙于一个名为Nutch的网络爬虫项目,该项目基于Cutting的开源项目Lucene(现在是Apache Lucene)。谷歌发布的白皮书启发了Cutting,他将Nutch项目中做的一些工作与这些白皮书中列出的存储和处理原理进行了整合。整合的成果就是如今的Hadoop。后来在2006年,雅虎决定接受Hadoop,并雇佣Doug Cutting让他全职开展该项目的相关工作。Hadoop在2006年成为Apache软件基金会的一员。
Apache软件基金会
Apache软件基金会(ASF)是1999年成立的非营利性组织,为开发者提供向开源项目做贡献的开源软件结构与框架。ASF鼓励合作与社区参与,保护志愿人员免于相关诉讼。ASF以精英管理的概念为前提,意味着项目受到绩效的支配。
贡献者(contributor)是对项目贡献了代码或者文档的开发人员。他们通常活跃于邮件组和答疑论坛,对项目缺点提出意见和建议,或是提出解决问题的代码补丁。
提交者(committer)是因专业绩效突出而获得一个项目主代码仓库的代码提交权限的开发人员。提交者需要签署贡献者许可协议(Contributor License Agreement,CLA),会拥有一个apache.org后缀的电子邮箱地址。提交者形成一个委员会来做项目相关的一些决策。
访问http://apache.org/可以获取更多关于Apache软件基金会的信息。
差不多在Hadoop项目诞生的同时,还有一些其他的技术革新也在进行中,包括如下几项:
电子商务的疾速扩张
移动互联网的诞生与迅速成长
博客与用户驱动的网络内容
社交媒体
这些革新累积导致所生成的数据量指数级增长。数据的洪流加速了大数据运动的扩张,进而导致了其他相关项目的出现(如Spark),还有开源消息系统(如Kafka),NoSQL平台(如HBase和Cassandra),这些都会在本书后续内容中进行讨论。
但这一切都从Hadoop开始。
- 点赞
- 收藏
- 关注作者
评论(0)