Spark 介绍
MapReduce给用户提供了简单的编程接口,用户只需要按照接口编写串行版本的代码,Hadoop框架会自动把程序运行到很多机器组成的集群上,并能处理某些机器在运行过程中出现故障的情况。然而,在MapReduce程序运行过程中,中间结果会写入磁盘,而且很多应用需要多个MapReduce任务来完成,任务之间的数据也要通过磁盘来交换,没有充分利用机器的内存。为此,美国加州大学伯克利分校的 AMPLab 设计实现了 Spark 计算框架(Zaharia,et al. 2012),充分利用现在机器的大内存资源,使得大数据计算的性能得到了进一步的提升。Spark 由 Scala 语言编写,Scala 是一种基于Java虚拟机的函数式编程语言,因此 Spark 提供的操作和 MapReduce 相比更加丰富和灵活。
Spark 设计的核心是一种叫做可靠分布式数据集(Resilient Distributed Dataset,RDD)的数据结构。一个 RDD 是一组数据项的集合,可以是普通的列表,也可以是由键值对构成的字典。在 Spark 中,一个 RDD 可以分布式的保存在多台机器上,也可以保存在磁盘上,也可以保存在内存中。对 RDD 的操作分为动作(action)和变换(transformation)。表 3.4 列出了 RDD 支持的常见操作。与 MapReduce 不同,Spark 的操作都是对 RDD 整体进行的,而不是对具体的每一个数据项。动作操作会直接生效,产生新的 RDD ,而变换操作的执行则是懒惰(lazy)的,操作会被记录下来,直到遇到下一个动作时才产生一个完整的执行计划。Spark 中的 RDD 可以由框架自动或由开发者人为地指定缓存在内存中,在内存足够的情况下对于某些应用可以获得比 MapReduce 快100倍以上的性能。

Spark 可以独立运行,也可以在 Hadoop 系统上运行,由 YARN 来调度。Spark 支持对 HDFS 的读/写,因此 MapReduce 程序可以很容易地改写成 Spark 程序,并在相同的环境下运行。
与 Hadoop 类似,Spark 也提供了一些组件,用于不同的应用场景。前面介绍的 Spark 核心组件被称为 Spark Core。Spark SQL 在 Spark Core 的基础上提供了新的数据抽象SchemaRDD,用于处理结构化和半结构化的数据,支持用SQL的语法对SchemaRDD进行查询。与Hive类似,Spark Streaming 提供了流式处理的功能,与Hadoop的Storm/S4类似。MLlib 是 Spark 上的机器学习算法库,提供了类似Mahout的功能。而GraphX则是 Spark的图计算框架,能够完成与Giraph相似的功能。
总地来说,目前Spark已经发展到比较成熟的阶段,其核心功能涵盖了Hadoop的大部分内容,并且可以在Hadoop生态系统内使用,具有性能上的优势,正在获得越来越广泛的应用。
Spark 介绍的更多相关文章
- Spark 介绍(基于内存计算的大数据并行计算框架)
Spark 介绍(基于内存计算的大数据并行计算框架) Hadoop与Spark 行业广泛使用Hadoop来分析他们的数据集.原因是Hadoop框架基于一个简单的编程模型(MapReduce),它支持 ...
- Spark介绍及安装部署
一.Spark介绍 1.1 Apache Spark Apache Spark是一个围绕速度.易用性和复杂分析构建的大数据处理框架(没有数据存储).最初在2009年由加州大学伯克利分校的AMPLab开 ...
- Spark记录-spark介绍
Apache Spark是一个集群计算设计的快速计算.它是建立在Hadoop MapReduce之上,它扩展了 MapReduce 模式,有效地使用更多类型的计算,其中包括交互式查询和流处理.这是一个 ...
- 大数据系列之并行计算引擎Spark介绍
相关博文:大数据系列之并行计算引擎Spark部署及应用 Spark: Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎. Spark是UC Berkeley AMP lab ( ...
- spark介绍
什么是Spark Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hado ...
- Apache Spark介绍及集群搭建
简介 Spark是一个针对于大规模数据处理的统一分析引擎.其处理速度比MapReduce快很多.其特征有: 1.速度快 spark比mapreduce在内存中快100x,比mapreduce在磁盘中快 ...
- spark介绍4(sparksql)ODBC(Windows)gc
(ODBC是open database connection开源数据连接) 在Windows控制面板的管理工具里面 GC(Garbage Collection):JAVA/.NET中的垃圾回收器 l ...
- spark介绍3
- spark介绍2
上述结果是 map 1 filter 1 map 2 filter 2 map 3 filter 3 map 4 filter 4 即说明是并行,且互不干扰,每个task运行到最后
随机推荐
- winform使用PrintDocument控件打印以及oledb驱动
代码,需要加入的控件:PrintDocument.PageSetupDialog.PrintDialog.PrintPreviewDialog.BackgroundWorker,控件的Document ...
- 通过PHP调用微信JSSDK实例
JSSDK使用步骤: 1. 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”. 2. 采用http GET方式请求获得access_token(有效期7200秒). 3. ...
- anaconda安装qt错误
windows下miniconda2安装python3下的qt包报错 conda install qt ERROR conda.core.link:_execute_actions(330): An ...
- python 字典 拼接SQL语句
def gen_sql(table_name, data): """ :param table_name: 表名称 :param data: 字典对象 key为字段(要 ...
- docker镜像运行错误排查
docker做服务时,如果客户端无法连接,错误排查: 1.先使用 docker ps 查看镜像是否都在运行中,如果没有就进入镜像查看日志 2.如果确定代码及配置文件没有问题,就需要检查镜像的替换是否正 ...
- 设计模式学习心得<适配器 Adapter>
适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁.这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能. 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接 ...
- [Hadoop]Hadoop章3 NameNode的ZKFC机制
基本概念 首先我们要明确ZKFC 是什么,有什么作用: zkfc是什么? ZooKeeperFailoverController 它是什么?是Hadoop中通过ZK实现FC功能的一个实用工具. 主要作 ...
- SQLPrompt 安装后sql上看不到菜单
解决方案很简单,请使用管理员权限安装 破解也是一样,需要管理员权限运行
- E:could not get lock /var/lib/dpkg/lock -ope
最近研究ubuntu,用apt-get命令安装一些软件包时,总报错:E:could not get lock /var/lib/dpkg/lock -open等 出现这个问题的原因可能是有另外一个程序 ...
- 用python turtle画玫瑰
1.turtle 库 2.画玫瑰的代码: import turtle turtle.penup() turtle.left() turtle.fd() turtle.pendown() turtle. ...