大数据之Spark生态架构
Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架,最初于2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apache的开源项目之一。Spark提供了一个全面、统一的框架,用于管理各种有着不同性质的数据集(文本数据、图表数据等)和数据源(批量数据或实时的流数据)对大数据处理的需求。
一、Spark基本概念
Spark是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序。Spark最初的设计目标是使数据分析更快——不仅程序运行速度要快,程序编写也要快速、容易。它可以将Hadoop集群中的应用在内存中的运行速度提升100倍,甚至能够将应用在磁盘上的运行速度提升10倍。为了使程序运行更快,Spark提供了内存计算,减少了迭代计算时的I/O开销;而为了使程序编写更容易,Spark使用简练、优雅的Scala编写,基于Scala提供交互式的编程体系。
二、Spark生态系统
Spark生态系统主要包含SparkCore、SparkSQL、SparkStreaming、StructuredStreaming、MLlib和GraphX等组件,如下图所示。
Spark生态系统
1、Spark组件功能
(1)SparkCore包含Spark的基本功能,如内存计算、任务调度、部署模式、故障恢复、存储管理等,主要面向批量数据处理。SparkCore建立在统一的抽象弹性分布式数据集(ResilientDistributedDataset,RDD)之上,使其可以以基本一致的方式应对不同的大数据处理场景。(2)SparkSQL允许开发人员直接处理RDD,同时也可查询Hive、HBase等外部数据源。SparkSQL的一个重要特点是其能够统一处理关系表和RDD,使得开发人员不需要自己编写Spark应用程序。
(3)SparkStreaming支持高吞吐量、可容错处理的实时流数据处理,将流数据分解成一系列短小的批处理作业,每个短小的批处理作业都可以使用SparkCore进行快速处理。
(4)StructuredStreaming是一种基于SparkSQL引擎构建的、可扩展且容错的流处理引擎。通过一致的API,StructuredStreaming使得使用者可以像编写批处理程序一样编写流处理程序,降低了使用者的使用难度。
(5)MLlib提供常用机器学习算法的实现,包括聚类、分类、回归、协同过滤等,降低了机器学习的门槛,开发人员只要具备一定的理论知识就能进行机器学习工作。
(6)GraphX是Spark中用于图计算的API,可认为是Pregel在Spark上的重写及优化。GraphX性能良好,拥有丰富的功能和运算符,能在海量数据上自如地运行复杂的图算法。
2、Spark主要特点
(1)运行速度快
Spark使用先进的DAG执行引擎,以支持循环数据流与内存计算,基于内存的执行速度可比HadoopMapReduce快上百倍,基于磁盘的执行速度也能快10倍左右。
容易使用
Spark支持使用Scala、Java、Python和R语言进行编程,简洁的API设计有助于用户轻松构建并行程序,并且可以通过SparkShell进行交互式编程。
通用性
Spark提供完整而强大的技术栈,包括SQL查询、流式计算、机器学习和图算法等组件,这些组件可以无缝整合在同一个应用中,足以应对复杂的计算。
运行模式多样
Spark可运行于独立的集群模式中,或者运行于Hadoop中,也可运行于AmazonEC2等环境中,并且可以访问HDFS、Cassandra、HBase、Hive等多种数据源。
三、Spark基本流程
Spark的运行流程如下图所示。
Spark运行流程
采用SparkContext创建驱动程序,SparkContext向集群管理器(可以是Standalone、Mesos或YARN)注册并申请运行执行器资源。
集群管理器分配执行器资源并启动StandaloneExecutorBackend,执行器运行情况将随着心跳发送到资源管理器上。
SparkContext通过RDD对象构建DAG,DAG调度器将DAG分解成Stage,并把TaskSet发送给Task调度器。执行器向SparkContext注册并申请Task。
Task调度器将Task发送给执行器运行,同时SparkContext将应用程序代码发送给执行器。
Task在执行器上运行,运行完毕后释放所有资源。
四、Spark适用场景
(1)需要快速处理大数据的场景。Spark通过内存计算能力可以极大地提高大数据处理速度。
(2)需要多次操作特定数据集的
您可能关注的文档
- EPS聚苯板墙体保温层脱落问题分析及防治措施.docx
- 保温板预留位置不规范问题分析及防治措施.docx
- 保温板变形、裂缝问题分析及防治措施.docx
- 保温层存水屋面渗漏问题分析及防治措施.docx
- 保温层起鼓、开裂问题分析及防治措施.docx
- 屋面保温层破损问题分析及防治措施.docx
- 防腐防火涂料过喷和干喷问题分析及防治措施.docx
- 防腐防火涂料失光问题分析及防治措施.docx
- 防腐防火涂料咬底问题分析及防治措施.docx
- 防腐防火涂料起泡问题分析及防治措施.docx
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
最近下载
- 塔吊工作安全培训内容课件.pptx VIP
- 2024-2025学年天津市部分区七年级(上)期末历史试卷(含答案).docx
- 天津大学物理化学教学课件ppt合集.pptx
- 土豆种植时间和方法.doc VIP
- SMAR公司DT301密度计说明书.pdf
- 2、高鸿业宏观经济学教案.doc VIP
- 高杆灯取电照明装置.pdf VIP
- Unit 2 Expressing yourself Part B let's learn 教案 三年级英语下册 人教PEP版.docx VIP
- 【通用】马年猜猜乐PPT(猜成语)打印版【课件】.pptx
- PDCA循环-提高手术间无菌物品定位放置规范率PPT优秀案例.pptx
原创力文档

文档评论(0)