Spark框架在大数据市场的占有率近年来可以说是逐年上升,相对于有着更长的历史基础的Hadoop,Spark的成长速度是非常快的。因此在现在的大数据技术开发上,Hadoop和Spark都是需要掌握的。今天为大家带来Spark入门指南,我们主要来了解Spark核心组件原理。
根据官网的定义,Spark是一个快速的、通用的分布式计算系统。
怎么来理解呢?
快速,源于Spark在计算性能上的提升。Spark的弹性分布式数据集模型RDD,以及基于内存运行计算,使得Spark框架能够低延迟地进行计算,数据计算效率得到极大的提升。
通用,则是因为Spark提供了多种语言的API接口,包括Java、Scala、Python和R等,对技术开发人员来说,能够更快捷地实现编程。同时,Spark框架也支持更多场景的计算任务,Spark SQL处理结构化数据、MLib处理机器学习、GraphX用于图计算、Spark Streaming用于流数据处理。
Spark框架的核心组件,主要是四个,Spark Core、Spark SQL、Spark Streaming以及Spark ML。
Spark Core:负责Spark基本功能实现,包括任务调度、内存管理、错误恢复、与存储系统交互等模块。
Spark SQL:是Spark用来操作结构化数据的程序包。通过Spark SQL,可以使用SQL或者Apache Hive版本的SQL方言(HQL)来查询数据。Spark SQL支持多种数据源,比如Hive表、Parquet以及JSON等。
Spark Streaming:是Spark提供的对实时数据进行流式计算的组件。提供了用来操作数据流的API,并且与Spark Core中的RDD API高度对应。
Spark ML:提供常见的机器学习(ML)功能的程序库。包括分类、回归、聚类、协同过滤等,还提供了模型评估、数据导入等额外的支持功能。
另外,Spark的集群管理,主要是来自其他管理器的运用,包括Hadoop YARN、Apache Mesos,甚至可以在Spark自带的简易调度器上运行,这也使得Spark能够和其他框架平台实现更好的集成。
看完以上这份简单的Spark入门指南,相信大家对于Spark核心组件原理也都有了一个初步的认识了。目前来说,Spark框架不管是独立完成数据处理任务还是与其他平台例如Hadoop等集成使用,都有不错的表现。成都加米谷大数据,专业
大数据培训机构,大数据开发2020春季班即将开班,预约试听可联系客服了解!