Spark系列之体系结构

  Spark的体系结构如下图。基本认知入门。

    

   数据接口访问层是第一层绿色部分,包含Spark Streming、Spark  SQL、MLIB和GraphX。

  数据核心处理是第二层橙色,主要包含Spark Core。

  数据的存储集中在第三层天蓝色,以HDFS、Hive、S3等为主。

  任务调度则集中在第四层紫色,以YARN和Mesos为常用。

1 、数据访问皆苦层

  1.1  Spark Streaming 

    是一种准实时的流式处理框架。其要义是将数据按照时间窗口大小分解成小批次数据,每个小批次数据都可以基于RDD处理。

    支持多种数据源,Kafka、Flume、TCP等。

    详情参考:http://spark.apache.org/docs/2.4.6/streaming-programming-guide.html

  1.2 Spark  SQL  

    用于结构化数据处理,简化了开发人员对RDD的操作。

    Spark SQL基于Catalyst优化器,Catalyst优化器不仅有基于规则的优化也有基于成本的优化。

    更多参考:http://spark.apache.org/docs/2.4.6/sql-getting-started.html、    

  1.3 MLIB

    机器学习库,提供了常用机器学习算法的实现,如聚类、分类、回归、协同过滤等。

    参考:http://spark.apache.org/docs/2.4.6/ml-guide.html

  1.4 GraphX

    图计算库,可认为是Pregel在Spark上的重写及优化。

    参考:http://spark.apache.org/docs/2.4.6/graphx-programming-guide.html

2、Spark Core

  此包含Spark的基础和核心功能,建立在RDD上,任务调度、数据计算、存储管理、故障恢复、部署方式等。

原文地址:https://www.cnblogs.com/wind-man/p/13407937.html