什么是Spark

是基于内存的用于大规模数据处理(离线计算、实时计算、快速查询)的统一分析引擎。

也是一个生态系统。

Spark的特点

  • 速度快

比MapReduce块10-100倍

  • 易用(算法多)

MR只支持一种计算 算法,Spark支持多种算法。

  • 通用

Spark可以支持离线计算、实时计算、快速查询(交互式)、机器学习、图计算

  • 兼容性强

支持大数据中现有的Yarn.  Mesos等多种调度平台,可以处理hadoop支持的数据。

Spark发展史

         2009 年诞生于加州大学伯克利分校AMP 实验室

         2014年成为 Apache 的顶级项目

 Spark为什么会流行

原因1:优秀的数据模型和计算抽

    支持多种计算模型,而且基于内存(内存比硬盘速度快)

    RDD 是一个可以容错且并行的数据结构

原因2:完善的生态圈(Spark生态圈)

spark实时报表 spark实时分析_spark实时报表

 

Spark Core:实现Spark 基本功能(RDD)

SparK SQL:  操作结构化数据

Spark Streaming : 对实时数据进行流式计算

Spark MLlib : 机器学习(ML)功能

GraphX(图计算) : 用于图计算的API

Hadoop 对比Spark

 

Hadoop(HDFS-MR-YARN)

Spark

类型

基础平台, 包含计算, 存储, 调度

分布式计算工具

场景

大规模数据集上的批处理

迭代计算, 交互式计算, 流计算

价格

对机器要求低, 便宜

对内存有要求, 相对较贵

编程范式

Map+Reduce, API 较为底层, 算法适应性差

RDD组成DAG有向无环图, API 较为顶层, 方便使用

数据存储结构

MapReduce中间计算结果存在HDFS磁盘上, 延迟大

RDD中间运算结果存在内存中 , 延迟小

运行方式

Task以进程方式维护, 任务启动慢

Task以线程方式维护, 任务启动快

Spark运行模式

1.local本地模式(单机)--开发测试使用

2.standalone独立集群模式--开发测试使用

3.standalone-HA高可用模式--生产环境使用

4.on yarn集群模式--生产环境使用

5.on mesos集群模式--国内使用较少

6.on cloud集群模式--中小公司未来会更多的使用云服务