《Spark数据分析:基于Python语言 》 —1.2 Spark简介

举报
华章计算机 发表于 2020/02/12 16:55:39 2020/02/12
【摘要】 本节书摘来自华章计算机《Spark数据分析:基于Python语言 》 一书中第1章,第1.2.1节,作者是[澳] 杰夫瑞·艾文(Jeffrey Aven) ,王道远 译。

1.2 Spark简介

Apache Spark是为了提升Hadoop中MapReduce的效率而创建的。Spark还提供了无可匹敌的可扩展性,是数据处理中高效的瑞士***,提供SQL访问、流式数据处理、图计算、NoSQL处理、机器学习等功能。

1.2.1 Spark背景

Apache Spark是开源的分布式数据处理项目,由Matei Zaharia在2009年创建于加州大学伯克利分校RAD实验室。Spark是作为科研项目Mesos的一部分创建出来的,设计初衷是寻找作为MapReduce的替代品来进行资源调度和系统协调。(关于Mesos的更多信息可以参考http://mesos.apache.org/)

Spark成为了在Hadoop上使用传统MapReduce的一种替代品,因为传统MapReduce并不适合交互式查询,或者实时的低延迟的应用等场景。Hadoop的MapReduce实现的主要缺点是映射阶段和归约阶段之间的中间数据始终都会持久化到硬盘上。

作为MapReduce的替代品,Spark实现了一个分布式的容错性内存结构,名为弹性分布式数据集(RDD)。Spark在多节点上尽可能多地使用内存,显著提高了整体性能。Spark可以复用这些内存结构,使得Spark不仅适用于交互式查询,也能适用于迭代型机器学习应用。

Spark是用Scala编写的,而后者是基于Java虚拟机(JVM)和Java运行时构建的。因此Spark成为了跨平台应用,既能运行在Windows上也能运行在Linux上。很多人认为Spark会是Hadoop数据处理的未来。

Spark让开发者可以创建复杂的多阶段数据处理流程,提供了高级API和容错的框架,这样开发者可以专注于逻辑,而不用分心于硬件故障这样的基础架构或环境方面的问题。

Spark是Apache软件基金会的顶级项目,拥有来自Facebook、雅虎、英特尔、Netflix、Databricks等公司和其他一些公司的超过400名代码贡献者和代码提交者。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。