Spark基础

Spark基础,第1张

Spark基础

目录

什么是Spark?

Spark和Hadoop什么关系

Spark的优点

spark适合做什么?

Spark的核心模块

 Spark的系统架构


什么是Spark?

Apache Spark是一种多语言引擎,用于单节点机器或集群上执行数据工程,数据科学和机器学习。

简单来说:spark是一种大数据计算框架,是一种基于内存快速处理计算大数据的引擎。支持多种语言的API接口,可以单节点和集群部署,其又提供了用于数据分析,机器学习的库。

Spark和Hadoop什么关系

Hadoop只是一套工具的总称,也可以说是一个大数据生态。它包含HDFS,YARN,MapReduce三部分,分别表示分布式文件存储系统(用于存储海量数据),资源调度(资源管理系统),计算(并行处理框架,实现任务分解和调度)。

早期的大数据处理方案:用YARN调度资源,读取HDFS内存储的文件内容进行MapReduce计算。(需要用java实现,比较麻烦)。

MapReduce简单来说就是分开处理再合并统计,需要频繁读写文件,导致运行速度很慢,这时基于内存的Spark出现了,它是Hadoop的替代品,目的就是为了提高运行速度。

Spark的优点

快:Spark基于内存,比频繁读写文件的Hadoop快。通用性高:Spark支持JAVA,Python,Scala,Sql,R的API,还支持超过80种高级算法。功能全面:批处理,交互式查询,流处理,机器学习等。易融合:Spark非常方便的与其他开源产品进行融合。

spark适合做什么?

Spark是数据计算处理的王者,支持PB级的处理,支持实时场景和离线场景。如:

日志文件,传感器数据的流处理。机器学习。数据分析师做交互式分析。各系统间的数据集成和清洗。 Spark的核心模块

Spark Core

提供了Spark最基础和最核心的功能,是其他功能拓展的基础。

Spark SQL

可以使用SQL *** 作结构化数据的组件。

Spark Streaming

Spark平台上针对实时数据进行流式计算的组件,提供了丰富的数据处理流的API。

Spark MLlib

Spark提供的一个机器学习算法库,提供了模型评估,数据导入等额外的功能,还提供了一些更底层的机器学习原语,学起来较困难。

Spark GraphX

Spark面向图计算提供的框架与算法库。

 Spark的系统架构

Spark架构采用了分布式计算中的Master-Slave模型。Master是对应集群中含有Master进程的节点(主节点),Slave是集群中含有Worker进程的节点。如图:

 Cluster Manager:在Standalone模式中即为Master(主节点),控制整个集群,监控Worker。在YARN模式中为资源管理器。Worker:从节点(子节点),负责控制计算节点,启动Executor或Driver。在YARN模式中为NodeManager,负责计算节点的控制。Driver:运行Appplication的main()函数并创建SparkContext.Executor:执行器,在worker node 上执行任务的组件,用于启动线程池运行任务。每个Application拥有独立的一组Executors.SparkContext:整个应用的上下文,控制应用的生命周期。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5718015.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存