
大数据学习之Spark——01Spark概述
发布日期:2021-05-06 17:19:28
浏览次数:12
分类:技术文章
本文共 1750 字,大约阅读时间需要 5 分钟。
一. Spark初始
1. 什么是Spark
- Spark是一种基于内存的快速, 通用, 可扩展的大数据分析引擎
- Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。
- Spark拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
- Spark是Scala编写,方便快速编程。
2. 总体技术栈
- Spark Core: 实现了Spark的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块。Spark Core中还包含了对弹性分布式数据集(Resilient Distributed DataSet,简称RDD)的API定义。
- Spark SQL: 是Spark用来操作结构化数据的程序包。通过Spark SQL,我们可以使用 SQL或者Apache Hive版本的SQL方言(HQL)来查询数据。Spark SQL支持多种数据源,比如Hive表、Parquet以及JSON等。
- Spark Streaming: 是Spark提供的对实时数据进行流式计算的组件。提供了用来操作数据流的API,并且与Spark Core中的 RDD API高度对应。
- Spark MLlib: 提供常见的机器学习(ML)功能的程序库。包括分类、回归、聚类、协同过滤等,还提供了模型评估、数据 导入等额外的支持功能。
3. Spark特点
- 快: 与Hadoop的MapReduce相比,Spark基于内存的运算要快100倍以上,基于硬盘的运算也要快10倍以上。Spark实现了高效的DAG执行引擎,可以通过基于内存来高效处理数据流。计算的中间结果是存在于内存中的。
- 易用: Spark支持Java、Python和Scala的APl,还支持超过80种高级算法,使用户可以快速构建不同的应用。而且Spark支持交互式的Python和Scala的Shell,可以非常方便地在这些Shell中使用Spark集群来验证解决问题的方法。
- 通用: Spark提供了统一的解决方案。Spark可以用于批处理、交互式查询(SparkSOL)、实时流处理(Spark Streaming)、机器学习(Spark MLlib)和图计算(Graphx)。这些不同类型的处理都可以在同一个应用中无缝使用。减少了开发和维护的人力成本和部署平台的物力成本。
- 兼容性: Spark可以非常方便地与其他的开源产品进行融合。比如,Spark可以使用Hadoop的YARN和Apache Mesos作为它的资源管理和调度器,并且可以处理所有Hadoop支持的数据,包括HDFS、HBase等。这对于已经部署Hadoop集群的用户特别重要,因为不需要做任何数据迁移就可以使用Spark的强大处理能力。
二. 重要角色
1. Driver(驱动器)
Spark的驱动器是执行开发程序中的main方法的进程。它负责开发人员编写的用来创建SparkContext、创建RDD,以及进行RDD的转化操作和行动操作代码的执行。主要负责:
- 把用户程序转为作业(JOB)
- 跟踪Executor的运行状况
- 为执行器节点调度任务
- UI展示应用运行状况
2. Executor(执行器)
Spark Executor是一个工作进程,负责在 Spark 作业中运行任务,任务间相互独立。Spark 应用启动时,Executor节点被同时启动,并且始终伴随着整个 Spark 应用的生命周期而存在。如果有Executor节点发生了故障或崩溃,Spark 应用也可以继续执行,会将出错节点上的任务调度到其他Executor节点上继续运行。主要负责:
- 负责运行组成 Spark 应用的任务,并将结果返回给驱动器进程;
- 通过自身的块管理器(Block Manager)为用户程序中要求缓存的RDD提供内存式存储。RDD是直接缓存在Executor进程内的,因此任务可以在运行时充分利用缓存数据加速运算。
声明
- 本文参考了尚学堂Spark课程的课件
- 本文参考了尚硅谷Spark课程的课件
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年03月28日 12时13分10秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
拓扑排序
2019-03-03
解方程
2019-03-03
练习赛 位运算 思维 思维
2019-03-03
Netty 粘包 拆包 | 史上最全解读
2019-03-03
protobuf + maven 爬坑记
2019-03-03
考了400分?不好意思,可能连这些“变态”学校的复试线都没够着!
2019-03-03
【调剂】211北京邮电大学2020年计算机学院硕士研究生招生缺额信息
2019-03-03
【招生目录和招生简章】浙江大学 华北电力大学 河南工业大学 福建师范大学...
2019-03-03
这些考研阅卷潜规则你知道几个?
2019-03-03
【考研英语】考研英语小作文万能模板(致歉信)
2019-03-03
【数据结构与算法】队列
2019-03-03
【研究生】PyTorch 1.0稳定版正式发布,并向开发者提供免费AI课程
2019-03-03
为何二战考生成功率远远大于应届?
2019-03-03
计算机专业【本科生】毕业还不如【专科生】?
2019-03-03
考研408联盟新添一所985!某知名大学专业课改用408!
2019-03-03
最有钱的大学是哪个?教育部直属高校公布2018年决算
2019-03-03
408的逆袭!武汉大学所有计算机/软件专业都改为408!
2019-03-03
408又多一所学校!广东某大学专业课改为408!
2019-03-03
【报名问题】考研现场确认时发现报考点选错了怎么办?
2019-03-03
提醒 | 未下载打印准考证的考生,不能参加2020年考研初试
2019-03-03