一、SPARK介绍:
1、Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎
2、Apache Spark 所开源的类Hadoop MapReduce的通用并行框架
3、简而言之为一个快速且通用的集群计算平台
二、SPARK的特点
1、spark是快速的

spark扩充了流行的Mapreduce计算模型
   spark是基于内存的计算(在计算中将中间产生的计算结果放在了内存中,减少的磁
   盘的IO,提高了效率)

2、saprk是通用的

spark的设计容纳了其他分布式系统拥有的功能,批处理(hadoop),迭代式计算(其
   他机器学习),交互查询(have)和流处理(Storm)
   优点:降低了维护的成本

3、spark是高度开放的

spark提供了Python,Java,Scala,SQL的API和丰富的内置库
   spark和其他的大数据工具整合的很好,包括hadoop,kafka等

三、SPARK的组件
1、Spark Core

包含Spark的基本功能,包含任务调度,内存管理,容错机制等
  内部定义的RDDS(弹性分布式数据集)
  提供了很多APIS来创建和操作这些RDDS
  应用场景,为其他的组件提供底层的服务。

2、Spark SQL

是Spqrk处理结构化数据的库,就像Hive SQL,MySql一样
  应用场景,企业中用来做报表统计

3、Spark Streaming

是实时数据处理流组件,类似于Storm
  Spark Streaming提供了API来操作实时流数据。
  应用场景,企业中用来Kafka接受数据做实时统计。

4、MLilb

一个包含通用机器学习功能的包,Machine learing lib。
  包含分类,聚类,回归等,还包含模型评估和数据导入。
  MLilb 提供的上面这些方法,都支持集群上的横向扩展。

5、Graphx

是处理图的库(例如,社交网络图),并进行图的并行计算
  像Spark Streaming,Spark SQL 一样,它也继承了RDD API。
  它提供了各种图的操作,和常用的图算法,例如PangeRank算法。
  应用场景,图计算。

6、Cluster Mangers

就是集群管理,Spark自带一个集群管理是单独调度器。
   常见的集群管理包括Hadoop YARN,Apache Mesos

7、精密集成的优点

spark底层优化了,基于Spark底层的组件,也得到了相应的优化
    紧密集成,节省了各个组件组合使用时的部署,测试等时间
    向Spark增减新的组件时,其他组件,颗可立即享用新组件的功能。

四、spark的基本概念

1、RDD:是Resillient Distributed Dataset(弹性分布式数据集的简称),是分布式存储的一个抽象概念,提供一种高度受限的共享内存模型

2、DAG:是Directed Acyclic Graph(有向无环图)的简称,反应RDD之间的依赖关系

3、Execotor:是运行在工作节点(WorkerNode)的一个进程,负责运行Task

4、应用(Apllication):用户编写的spark应用程序

5、任务(Task):运行在Executor上的工作单元

6、阶段(Stage):是作业的基本调度单位,一个作业会分成多组任务,每组任务被称之为阶段,或者也称为任务集合,代表一组关联的、相互之间没有Shuffle依赖关系的任务组成的集合。

五、Spark的运行架构

spark平台特点 spark平台的优点_spark平台特点


spark平台特点 spark平台的优点_spark_02


spark平台特点 spark平台的优点_spark_03