iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >Spark简介以及与Hadoop对比分析
  • 205
分享到

Spark简介以及与Hadoop对比分析

2024-04-02 19:04:59 205人浏览 独家记忆
摘要

目录1. spark 与 hadoop 比较1.1 Haoop 的缺点1.2 相较于Hadoop MR的优点2. Spark 生态系统2.1 大数据处理的三种类型1. 复杂的批量数据

1. Spark 与 Hadoop 比较

1.1 Haoop 的缺点

  • 1. 表达能力有限;
  • 2. 磁盘io开销大;
  • 3. 延迟高;
  • 4. 任务之间的衔接涉及IO开销;
  • 5. 在前一个任务执行完之前,其他任务就无法开始,难以胜任复杂、多阶段的计算任务。

1.2 相较于Hadoop MR的优点

  • 1. Spark的计算模式也属于MR,但不局限于Map和Reduce操作,它还提供了多种数据集操作类型,编程模式也比Hadoop MR更灵活;
  • 2. Spark提供了内存计算,可将中间结果放到内存中,对于迭代运算效率更高;
  • 3. Spark 基于DAG的任务调度执行机制,要优于Hadoop MR的迭代执行机制。
Spark mapReduce
数据存储结构 使用内存构建弹性分布式数据集RDD,对数据进行运算和cache。 磁盘hdfs文件系统的split
编程范式 DAG(Transformation+Action) Map+Reduce
计算中间结果的存储 在内存中维护,存取速度比磁盘高几个数量级 落到磁盘,IO及序列化、反序列化代价大
Task维护方式 线程 进程
时间 对于小数据集读取能够达到亚秒级的延迟 需要数秒时间才能启动任务

2. Spark 生态系统

2.1 大数据处理的三种类型

1. 复杂的批量数据处理

时间跨度在数十分钟到数小时

Haoop MapReduce

2. 基于历史数据的交互式查询

时间跨度在数十秒到数分钟

Cloudera、Impala 这两者实时性均优于Hive

3. 基于实时数据流的数据处理

时间跨度在数百毫秒到数秒

Storm

2.2 BDAS架构

2.3 Spark 生态系统

3. 基本概念与架构设计

3.1 基本概念

3.2 运行架构

Spark采用Executor的优点:(相比于Hadoop的MR)

  • 1. 利用多线程来执行具体的任务,减少任务的启动开销;
  • 2. Executor中有一个BlockManager存储模块,会将内存和磁盘共同作为存储设备,有效减少IO开销。

3.3 各种概念之间的相互关系

  • 一个Application由一个Driver和若干个Job构成
  • 一个Job由多个Stage构成
  • 一个Stage由多个没有shuffle关系的Task组成

当执行一个Application时,Driver会向集群管理器申请资源,启动Executor,

并向Executor发送应用程序代码和文件,然后在Executor上执行Task,运行结束后,

执行结果会返回给Driver,或者写到HDFS或者其他数据库中。

4. Spark运行基本流程

4.1 运行流程

1. 为应用构建起基本的运行环境,即由Driver创建一个SparkContext进行资源的申请、任务的分配和监控

2. 资源管理器为Executor分配资源,并启动Executor进程。

  • 3.1 SparkContext根据RDD的依赖关系构建DAG图,DAG图提交给DAGScheduler解析成Stage,然后把一个个TaskSet提交给底层调度器TaskScheduler处理。
  • 3.2 Executor向SparkContext申请Task,TaskScheduler将Task发送给Executor运行并提供应用程序代码。

4. Task在Executor上运行把执行结果反馈给TaskScheduler,然后反馈给DAGScheduler,运行完毕后写入数据并释放所有资源。

4.2 运行架构特点

1. 每个Application都有自己专属的Executor进程,并且该进程在Application运行期间一直驻留。Executor进程以多线程的方式运行Task。

2. Spark运行过程与资源管理器无关,只要能够获取Executor进程并保持通信即可。

3. Task采用了数据本地性和推测执行等优化机制。(计算向数据靠拢。)

5. Spark的部署和应用方式

5.1 Spark的三种部署方式

5.1.1 Standalone

类似于MR1.0,slot为资源分配单位,但性能并不好。

5.1.2 Spark on Mesos

Mesos和Spark有一定的亲缘关系。

5.1.3 Spark on YARN

mesos和yarn的联系

5.2 从Hadoop+Storm架构转向Spark架构

Hadoop+Storm架构

这种部署方式较为繁琐。

用Spark架构满足批处理和流处理需求

Spark用快速的小批量计算模拟流计算,并非真实的流计算。

无法实现毫秒级的流计算,对于需要毫秒级实时响应的企业应用而言,仍需采用流计算框架Storm等。

Spark架构的优点:

  • 1. 实现一键式安装和配置,线程级别的任务监控和告警;
  • 2. 降低硬件集群、软件维护、任务监控和应用开发的难度;
  • 3. 便于做成统一的硬件、计算平台资源池。

5.3 Hadoop和Spark的统一部署

不同计算框架统一运行在YARN中

好处如下:

  • 1. 计算资源按需伸缩;
  • 2. 不用负载应用混搭,集群利用率高;
  • 3. 共享底层存储,避免数据跨集群迁移

现状:

1. Spark目前还是无法取代Hadoop生态系统中的一些组件所实现的功能。

2. 现有的Hadoop组件开发的应用,完全迁移到Spark上需要一定的成本。

到此这篇关于Spark简介以及与Hadoop对比分析的文章就介绍到这了,更多相关Spark与Hadoop内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Spark简介以及与Hadoop对比分析

本文链接: https://www.lsjlt.com/news/134021.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Spark简介以及与Hadoop对比分析
    目录1. Spark 与 Hadoop 比较1.1 Haoop 的缺点1.2 相较于Hadoop MR的优点2. Spark 生态系统2.1 大数据处理的三种类型1. 复杂的批量数据...
    99+
    2024-04-02
  • Hadoop与Spark比较分析
    Hadoop和Spark都是用于大数据处理的开源框架,但它们有一些明显的区别和优劣势。以下是Hadoop和Spark的比较分析: ...
    99+
    2024-02-29
    Hadoop
  • SpringSecurity框架简介及与shiro特点对比
    目录前言一、 SpringSecurity 框架简介二、比较一下shiro与Spring Security2.1.用户量2.2.使用的方便程度2.3.社区支持2.4.功能丰富性三、总...
    99+
    2024-04-02
  • Oracle 与spark-local 模式的性能对比分析
    这篇文章将为大家详细讲解有关Oracle 与spark-local 模式的性能对比分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Oracle中的查询如果...
    99+
    2024-04-02
  • Hadoop与传统数据库的对比分析
    Hadoop和传统数据库在很多方面有着明显的区别,主要包括以下几点: 数据处理方式: Hadoop是一个分布式计算框架,采用M...
    99+
    2024-02-29
    Hadoop
  • TypeScript与JavaScript对比及打包工具对比分析
    这篇文章主要介绍了TypeScript与JavaScript对比及打包工具对比分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇TypeScript与JavaScript对比及打包工具对比分析文章都会有所收获,...
    99+
    2023-07-05
  • Hadoop源码分析一架构关系简介
    1、 简介 Hadoop是一个由Apache基金会所开发的分布式系统基础架构 Hadoop起源于谷歌发布的三篇论文:GFS、MapReduce、BigTable。其中GFS是谷歌的分...
    99+
    2024-04-02
  • 如何实现Apache Hive 和Spark的对比分析
    本篇文章给大家分享的是有关如何实现Apache Hive 和Spark的对比分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Hive和Spa...
    99+
    2024-04-02
  • 公司如何选择数据库及DynamoDB和Hadoop以及MongoDB 的对比
    公司如何选择数据库及DynamoDB和Hadoop以及MongoDB 的对比,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。用户如何选择最能...
    99+
    2024-04-02
  • JS数组循环的方式以及效率分析对比
    数组的方法 JavaScript发展到现在已经提供了许多数组的方法,下面这张图涵盖了数组大部分的方法,这篇文章主要说一说数组的遍历方法,以及各自的性能,方法这么多,如何挑选性能最佳的...
    99+
    2024-04-02
  • Clojure与Java对比实例分析
    这篇文章主要介绍“Clojure与Java对比实例分析”,在日常操作中,相信很多人在Clojure与Java对比实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Clojure与Java对比实例分析”的疑...
    99+
    2023-07-02
  • Component与PureComponent对比源码分析
    这篇文章主要介绍了Component与PureComponent对比源码分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Component与PureComponent对比源码分析文章都会有所收获,下面我们一起...
    99+
    2023-07-05
  • Aspectj与Spring AOP的对比分析
    1、简介 今天有多个可用的 AOP 库, 它们需要能够回答许多问题: 1、是否与用户现有的或新的应用程序兼容? 2、在哪里可以实现 AOP? 3、与自己的应用程序集成多快? 4、性能...
    99+
    2024-04-02
  • C语言与Python的对比与分析
    C语言与Python的对比与分析 C语言和Python是两种不同的编程语言,各有优点和适用场景。C语言作为一种底层语言,被广泛应用于系统编程、嵌入式开发等领域,具有高效性和灵活性的特点...
    99+
    2024-04-02
  • hive与rdbms对比的分析说明
    这篇文章给大家分享的是有关hive与rdbms对比的分析说明的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Hive并非为联机事务处理而设计,Hive并不提供实时的查询和基于行级的数据更新操作。Hive是建立在Ha...
    99+
    2023-06-03
  • MySQL中InnoDB与MyISAM的对比分析
    小编给大家分享一下MySQL中InnoDB与MyISAM的对比分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!对比InnoDB与MyISAM1、 存储结构MyI...
    99+
    2023-06-27
  • Pytorch中Softmax与LogSigmoid的对比分析
    Pytorch中Softmax与LogSigmoid的对比 torch.nn.Softmax 作用: 1、将Softmax函数应用于输入的n维Tensor,重新改变它们的规格,使n维...
    99+
    2024-04-02
  • Spring启动过程源码分析及简介
    目录1、BeanDefinition2、beanFactory3、BeanDefinitionReader4、ClassPathBeanDefinitionScanner5、Cond...
    99+
    2024-04-02
  • MySQL事务的介绍以及示例分析
    这篇文章给大家介绍MySQL事务的介绍以及示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.什么是事务:事务是一个不可分割的工作逻辑单元,在数据库系统上执行并发操作时事务是做为...
    99+
    2024-04-02
  • Oracle存储过程与函数详细对比及优势分析
    标题:Oracle存储过程与函数详细对比及优势分析 在Oracle数据库中,存储过程和函数是两种重要的数据库对象,它们都可以用来封装一系列的SQL语句和逻辑,提高数据操作的效率和复用性...
    99+
    2024-03-03
    函数 存储过程 对比 sql语句
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作