Spark概述(一)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/RivenDong/article/details/102674046

1. Spark Overview

Apache Spark 是一个快速的通用集群计算系统,它提供高层次的API:Java、Scala、Python 以及 R,并且支持一般执行图的优化引擎。它也支持一组丰富的高级工具包括:Spark SQL 用于对结构化数据进行处理, MLlib 提供机器学习库, GraphX 提供图计算, 并且还支持流计算:Spark Streaming。

2. Spark框架原理

Cluster Manager:在standalone模式中即为Master主节点,控制整个集群,监控worker。在YARN模式中为资源管理器。
Worker节点:从节点,负责控制计算节点,启动Executor或者Driver。
Driver: 运行Application 的main()函数
Executor:执行器,是为某个Application运行在worker node上的一个进程

在这里插入图片描述
Spark提交一个应用之后会启动一个Driver进程,该Driver进程负责与Spark集群中Master节点进行数据交互,同时跟踪和收集Master节点反馈的数据处理情况。Master节点接收到请求后,会将提交的应用拆解为可以直接执行的各个作业,每个作业内部分为各个子任务。Spark根据分析器拆分的作业以及任务的类型和数量将其分配到各个工作节点,每个工作节点都有一个Worker进行来相应Master节点的调度处理。

3. Spark大数据处理

Spark 是基于内存迭代的实时分析计算框架,其优势在于可基于内存做实时计算和分析处理。处理的数据可来自任何一种存储介质。从数据源收集的数据优先被装载到内存中实现迭代处理,内存剩余空间不足时将启用磁盘缓冲技术实现磁盘迭代分析处理。
Spark一方面可以通过JDBC协议读取关系型数据库中的数据,另一方面也可以通过分布式传输协议读取HDFS、S3、Swift等分布式存储系统的数据。

4. RDD数据集

RDD(Resilient Distributed Datasets)被译为弹性分布式数据集,它是Spark运行时(Spark Runtime)的内核实现。

4.1 迭代模式的自动切换

处理的数据优先在内存中进行迭代,内存剩余空间不足时再将溢出部分数据缓冲到磁盘进行迭代处理

4.2 执行步骤的可恢复性

当一个应用存在多个操作步骤时,若在作业执行过程中某个步骤出错,只需在出错步骤的前一步骤后重新执行进行恢复,而无须从第一个步骤开始恢复

4.3 故障作业的高可靠性

若某个作业出错或失败,则会自动进行特定次数的重试(默认三次),该重试包括作业本身的重试和基于作业操作底层节点任务计算失败的重试(默认四次)

4.4 故障数据的高度容错

若某个作业失败导致数据计算结果不完整,则作业会重新提交或重试,这时仅收集计算失败的数据分片进行重新计算,这意味着Spark可从细粒度上控制容错计算的数据量。

5. Spark子系统

Spark生态圈中包含诸多子系统,这些子系统是基于Spark核心API的应用框架,Spark核心API以Spark RDD数据集为基础,同时Spark RDD 又是Spark生态圈中其他子系统予以扩展的基础架构,Spark生态圈中有如下常用的子系统:

5.1 Spark SQL

该子系统可将传递给Spark内核的类SQL语句翻译成基于Scala API 的Spark代码,然后其将包装成Spark应用提交给Spark集群处理,其数据源可以来自于数据库、文件系统等各种存储介质,且以指定的数据格式从这些存储系统中提取所需处理的数据。

5.2 Spark Streaming

该套子系统可基于离散数据流完成实时分析处理,处理的数据通常来自本地事件流、Socket网络数据流、KafaKa中间件的缓冲数据流等。分析数据的特征是准实时计算和处理,数据的输出端通常指向业务平台的前端系统

5.3 Spark MLlib

该套子系统为Spark框架提供机器学习算法库,它将一系列的样本输入数据,通过维度设计、数据回归、曲线拟合等方式得出一套经验公式或数理结论,然后将其应用于未来某个时空点产生的数据维度并预测可能发生的业务数据。MLlib机器学习算法库基于Spark平台下的内存迭代方式进行数据分析。

5.4 其他子系统

除了上述常用的子系统外,还有其他子系统,如基于图计算的Spark GraphX、基于可视化表现的Spark R等。

猜你喜欢

转载自blog.csdn.net/RivenDong/article/details/102674046
今日推荐