Spark大数据计算框架知识总结

Spark简介

Spark是专为大规模数据处理而设计的计算引擎。Spark拥有Hadoop MapReduce所具有的优点,但不同于MapReduce的是,Spark计算过程中的中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的算法。Spark是对 Hadoop 的补充,它可以通过名为 Mesos 的第三方集群框架,在Hadoop系统中并行运行。Spark凭借自己优良的性能,逐渐的替代了MapReduce,成为Hadoop中主流的计算框架。

Spark特点

计算速度快:
与Hadoop的MapReduce相比,Spark基于内存的运算要快100倍以上,基于硬盘的运算也要快10倍以上。Spark实现了高效的DAG执行引擎,可以通过内存做存储来高效处理数据流。

高易用性:
Spark支持Java、Python和Scala的API,还支持超过80种高级算法,使用户可以快速构建不同的应用。而且Spark支持交互式的Python和Scala的Shell,可以非常方便地在这些Shell中使用Spark集群来验证解决问题的方法。

高通用性:
Spark提供了统一的解决方案。Spark可以用于批处理、交互式查询(Spark SQL)、实时流处理(Spark Streaming)、机器学习(Spark MLlib)和图计算(GraphX)。这些不同类型的处理都可以在同一个应用中无缝使用。减少了开发和维护的人力成本和部署平台的物力成本。

高兼容性:
Spark可以非常方便地与其他的开源产品进行融合。比如,Spark可以使用Hadoop的YARN和Apache Mesos作为它的资源管理和调度器,并且可以处理所有Hadoop支持的数据,包括HDFS、HBase等。这对于已经部署Hadoop集群的用户特别重要,因为不需要做任何数据迁移就可以使用Spark的强大处理能力。

Spark架构

下图是Spark架构图,Spark计算框架可以分为三层,最底层是基础设施层,负责进行作业调度和集群控制。中间的Spark Core是Spark的核心,Spark的业务功能都是由Spark Core实现的。最上层是应用层,Spark可以用在多种场景下,Spark为不同的应用场景设计了不同的组件。

在这里插入图片描述
集群管理器:
Spark设计的目的之一是可以高效地在一个计算节点到数千个计算节点之间伸缩计算。为了实现这样的要求,同时获得最大灵活性,Spark支持在多种集群管理器(Cluster Manager)上运行,包括Hadoop YARN、Apache Mesos,以及Spark自带的一个独立调度器。

Spark Core:
实现了Spark的基本功

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spark最好的书之一; 第 1 章从 HadoopSpark 1. 1 Hadoop一一大数据时代的火种·· 1. 1. 1 大数据的由来 1. 1. 2 Google 解决大数据计算问题的方法 ……................…........... 5 1. 1. 3 Hadoop 的由来与发展………................. .. ......................…. 10 1. 2 Hadoop 的局限性·················…….........….........................……… 12 1. 2. 1 Hadoop 运行机制…….....….........…..................... . ....……. . 13 1. 2. 2 Hadoop 的性能问题……………………........ ......…..... . ...…… . 15 1. 2. 3 针对 Hadoop 的改进………………··························…....... 20 1. 3 大数据技术新星一-Spark …·…………………………………………….. 21 1. 3. 1 Spark 的出现与发展……........…………………... ......………. 21 1. 3. 2 Spark 协议族……………………………………………………… 24 1. 3. 3 Spark 的应用及优势……....... .…………………·· ·······………. 25 第 2 章体验 Spark ……….....……........…··························…………………28 2. 1 安装和使用 Spark ··············……..................………………………….28 2. 1. 1 安装 Spark ·································································· 28 2. 1. 2 了解 Spark 目录结构................ . .. .. ........... ................. .. . .. 31 2. 1. 3 使用 Spark Shell ·· · · · · · · · · ·· · · · · · · · · ······· ····· ··· · ··· · ···· · · · · ·· · · ··· ·· ·· 32 2.2 编写和运行 Spark 程序................................................ ...... ......... 35 2.2. 1 安装 Scala 插件 .... .. ............. ...... ....................... ............ 35 2.2.2 编写 Spark 程序......... ................. .................................. 37 2.2.3 运行 Spark 程序········ ············ · ··········· ·············· ········ ······ 42 2. 3 Spark Web UI ··························· ······························ ··············· 45 2.3. 1 访问实时 Web UI ························································· 45 2.3.2 从实时 UI 查看作业信息、....... .. .................. . ....... ............. 46IV 目录 第 3 章 Spark 原理……………………….................……………………………. 50 3. 1 Spark 工作原理…………………………….......…………………........… 50 3. 2 Spark 架构及运行机制………………….............……………………….. 54 3. 2. 1 Spark 系统架构与节点角色………………………........………. 54 3. 2. 2 Spark 作业执行过程……··…...............…......................... 57 3.2.3 应用初始化…·…………………………………………………….. 59 3.2.4 构建 RDD 有向无环图 ………........……………........……….. 62 3.2.5 RDD 有向无环图拆分……..................................………….. 64 3. 2. 6 Task 调度………………………………………………………...... 68 3. 2. 7 Task 执行…………………………………………………………… 71

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值