Spark框架体系、Standalone模式的运行流程

一、 Spark概述(引用百度百科

Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。
Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。

尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoop 文件系统中并行运行。通过名为 Mesos 的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。

总而言之:Spark是一种快速、通用、可扩展的大数据分析引擎

二、Spark的框架体系

在这里插入图片描述

三、Spark和MapReduce对比

在这里插入图片描述
MR中数据处理,需要多个MR程序反复读取磁盘中的文件。中间结果需要多次落地磁盘,这样势必会出现磁盘IO操作影响性能,如果计算过程中出现错误就需要重新计算

Spark中数据处理,是使用多个Job在内存中连续执行,spark把运算中间数据存放在内存中,迭代计算效率高,spark容错性高,它通过弹性分布式数据集RDD来实现高容错。RDD分布式存储数据集存在内存中,若其中某一个部分丢失或计算错误,根据RDD提供的血缘关系来进行RDD重构。而且Spark框架更复杂,既可以进行离线(SparkCore/SparkSQL)也可以进行实时(SparkStreaming)。

四. Spark运行模式

Local 多用于本地测试,都是编译器中完成
Standalone 是Spark自带的资源调度框架,支持完全分布式
Yarn Hadoop生态圈自带调度框架,Spark是基于Yarn进行计算的
Messos资源调用框架第三方需要独立安

PS:只讲解最常用的运行模式Standalone,并且该模式也是面试时最常问到的

4.1 Spark Standalone模式运行流程
在这里插入图片描述
相关文章:
Spark 弹性分布数据集RDD的介绍
Spark 的内存模型以及Spark Shuffle的原理
常见的Spark的调优方法

有收获?希望烙铁们来个三连击,让更多的同学看到这篇文章

1、烙铁们,关注我看完保证有所收获,不信你打我。

2、点个赞呗,可以让更多的人看到这篇文章,后续还会有很哇塞的产出。

本文章仅供学习及个人复习使用,如需转载请标明转载出处,如有错漏欢迎指出
务必注明来源(注明: 来源:csdn , 作者:-马什么梅-)

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一马什么梅一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值