栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Spark基础

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:整个应用的上下文,控制应用的生命周期。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/721712.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号