- 1、本文档共75页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
基于内存的计算引擎Spark
1.Spark的概述
1.1Spark简介和特点
Spark由加州大学伯克利分校AMP实验室(Algorithms,Machines,andPeopleLab)开发、开源的通
用内存并行计算框架,可用来构建大型的、低延迟的数据分析应用程序。
Spark是借鉴HadoopMapReduce技术发展而来的,是对Hadoop的补充,可以在Hadoop文件系
统中并行运行。Spark继承了Hadoop分布式并行计算的优点,并改进了MapReduce延迟过高,无法
胜任实时、快速计算需求一些明显的不足。
Spark的特点:
(1)Spark提供了内存计算,Spark减少了迭代过程中数据需要写入磁盘的需求,提高了处理效率。
(2)Spark提供了一个全面、统一的框架,包括SparkSQL、SparkStreaming、SparkMLlib、Spark
GraphX等技术组件,可以一站式地完成大数据领域的离线批处理、交互式查询分析、流式计算、机器
学习、图计算等常见的任务。能够实现文本数据、图表数据等不同性质的数据集,以及批量数据或实时
的流数据不同数据源的大数据处理的需求。
(3)Spark提供的数据集操作类型除了Map、Reduce操作外,还提供Filter、FlatMap、
ReduceByKey等多种转换操作,以及Count、Collect、Reduce等行为操作。比Hadoop更加通用,
可以支持更多类型的应用。
(4)Spark基于DAG的任务调度执行机制比HadoopMapReduce的迭代执行机制更优越。
Hadoop各个处理结点之间的通信模型只有Shuffle一种模式,Spark的程序开发者可以使用DAG
开发复杂的多步数据管道,控制中间结果的存储、分区等。
(5)Spark基于内存进行数据处理,适用于数据量不是特别大,但是要求实时统计分析的场景。同时
Spark对硬件要求比较高,特别是对内存和CPU有更高的要求。
1.2Spark与hadoop的比较
Hadoop是一基础平台,包含计算、存储、调度。Hadoop有两个核心模块,分布式存储模块HDFS和分
布式计算模块MapReduce。
spark本身是一分布式计算引擎,并没有提供分布式文件系统,因此spark的分析大多依赖于Hadoop的
分布式文件系统HDFS,也可采用Hive、HBase存储数据。
Hadoop的作业Job分为MapTask和ReduceTask阶段,Task以进程方式维护,任务启动慢,Spark的
Task以线程方式维护,任务启动快。MapReduce中间计算结果在HDFS磁盘上,延迟大。Spark的RDD
中间运算结果在内存中,延迟小。相比于MapReduce,spark的速度更快。
Hadoop的Map+Reduce,API较为底层,算法适应性差。Spark的RDD组成DAG有向无环图,API较为
顶层,方便使用。相比于MapReduce,spark的提供的功能更加丰富。
MapReduce适合于大规模数据集上的批处理场景,Spark适合于迭代计算,交互式计算,流计算。
操作系统关联知识:
Hadoop中的MR中每个map/reducetask都是一个java进程方式运行,好处在于进程之间是互相独立
的,每个task独享进程资源,没有互相干扰,监控方便,但是问题在于task之间不方便共享数据,执行
效率比较低。比如多个maptask读取不同数据源文件需要将数据源加载到每个maptask中,造成重复
加载和浪费内存。而基于线程的方式计算是为了数据共享和提高执行效率,Spark采用了线程的最小的
执行单位,但缺点是线程之间会有资源竞争。
Spark和Hadoop的区别和比较:
1.原理比较
Hadoop和Spark都是并行计算,两者都是用MR模型进行计算
Hadoop一个作业称为一个Job,Job里面分为MapTask和ReduceTask阶段,每个Task都在自己的进程
中运行,当Task结束时,
您可能关注的文档
- 云计算与大数据技术 验证性实验指导 实验实践1-1.Linux (CentOS)安装过程遇到的问题及解决办法.pdf
- 云计算与大数据技术 验证性实验指导 实验实践11. Flink流式计算引擎及实践.pdf
- 云计算与大数据技术 验证性实验指导汇总 实验实践1.安装虚拟机软件-VirtualBox和安装CentOS操作系统---知识补充4.Typora 工具软件简介与安装及使用.pdf
- 云计算与大数据技术 验证性实验指导 实验实践知识补充1.linux操作系统介绍;补充2.linux操作系统基本设置与XShell及Winscp工具介绍.pdf
- 云计算与大数据技术 验证性实验指导 实验实践6.Hive 数据仓库安装配置及应用;8. Sqoop的安装与配置及使用;9. Scala 编程语言学习与实践.pdf
- 云计算与大数据技术 验证性实验指导 实验实践3.Linux操作系统实践-常用指令;4.JDK 安装与配置和MySQL安装与配置;5.大数据计算框架Hadoop3.0的安装部署与配置及HDFS常用指令.pdf
- 云计算与大数据技术 验证性实验指导 实验实践1.安装虚拟机软件-VirtualBox和安装CentOS操作系统;2.Linux操作系统基本环境设置和安装配置Xshell和Winscp.pdf
- 云计算与大数据技术 课件1.1云计算-云计算简述.pptx
- 1.2云计算-云计算与大数据简史.pptx
- 云计算与大数据技术 课件1.3云计算-云计算分类及及应用.pptx
文档评论(0)