work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Spark生态圈概述

Posted on 2021-02-03 13:37  work hard work smart  阅读(308)  评论(0编辑  收藏  举报

Spark是一个快速且通用的集群计算平台

1、Spark概述及特点

1) Speed: 速度。执行速度快,开发速度提高了很多。

       Spark扩充了流行的MapReduce计算模型

  Spark是基于内存的计算。

2) Ease of User: 易用。支持多种语言,如Python,Java,Scala等

3) Generality: 通用性,解决多个框架学习成本和运维成本

4) Run Everywhere: 运行在很多地方

 

2、Spark产生背景

1 ) MapReduce局限性,使用过程繁琐。

      A、代码繁琐

      B、只能支持map和reduce方法

  C、执行效率低下

  D、不适合迭代多次、交互式、流式的处理

2) 框架的多样化

  A、批处理(离线): MapReduce、Hive、Pig

  B、流式处理(实时): Storm,JStorm

  C、交互式计算:Impala

学习、运维成本无形中都提高了很多。

 

3、Spark发展历史

 

4、Spark生态圈

 

 Related  External Project: 灰色为外部工程。

 

5、Spark的组件

 

 

1) Spark Core:

  包含Spark的基本功能,包含任务调度,内存管理,容错机制等

  内部定义了RDDs(弹性分布式数据集)

  提供了很多APIs来创建和操作这些RDDs

  应用场景,为其他组件提供底层的服务

2) Spark SQL:

   是Spark处理结构化数据的库,就像Hive SQL,Mysql一样

  应用场景,企业中用来做报表统计

3) Spark Streaming:

  是实时数据流处理组件,类似Storm

  Spark Streaming提供了API来操作实时流数据

  应用场景,企业中用来从Kafka接收数据做实时统计

4) MLlib:

       一个包含通用机器学习功能的包,Machine learning lib

       包含分类,聚类,回归等,还包括模型评估和数据导入。

  MLlib提供的上面这些方法,都支持集群上的横向扩展。

  应用场景,机器学习。

5) Graphx:

  是处理图的库(例如,社交网络图),并进行图的并行计算。

  像Spark Streaming,Spark SQL一样,它也继承了RDD API。

  它提供了各种图的操作,和常用的图算法,例如PangeRank算法。

  应用场景,图计算。

6) Cluster Managers:

  就是集群管理,Spark自带一个集群管理是单独调度器。

  常见集群管理包括Hadoop YARN,Apache Mesos

 

6、Hadoop生态圈对比Spark BDAS

 

7、Hadoop与Spark对比

 

 

8、MapReduce与Spark对比

 

9、Spark和Hadoop的协作性