Spark--高效的分布式计算架构ppt课件.ppt

Spark--高效的分布式计算架构ppt课件.ppt

ID:59139388

大小:487.00 KB

页数:40页

时间:2020-09-25

Spark--高效的分布式计算架构ppt课件.ppt_第1页
Spark--高效的分布式计算架构ppt课件.ppt_第2页
Spark--高效的分布式计算架构ppt课件.ppt_第3页
Spark--高效的分布式计算架构ppt课件.ppt_第4页
Spark--高效的分布式计算架构ppt课件.ppt_第5页
资源描述:

《Spark--高效的分布式计算架构ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、spark----高效的分布式计算架构----何奇14112852181Lifeisshort,youneedspark!Lifeisshort,youneedspark!目标Scope(解决什么问题)在大规模的特定数据集上的迭代运算或重复查询检索官方定义:aMapReduce-likeclustercomputingframeworkdesignedforlow-latencyinterativejobsandinteractiveusefromaninterpreter目的理解首先,MapReduce-like是说架构上和多数分布式计算框架类似,Spar

2、k有分配任务的主节点(Driver)和执行计算的工作节点(Worker)其次,Low-latency基本上应该是源于Worker进程较长的生命周期,可以在一个Job过程中长驻内存执行Task,减少额外的开销然后对interative重复迭代类查询运算的高效支持,是Spark的出发点了。最后它提供了一个基于Scala的Shell方便交互式的解释执行任务小小示意图那是如何实现的?核心思路或架构:RDD:Spark的核心概念是RDD(resilientdistributeddataset),指的是一个只读的,可分区的分布式数据集,这个数据集的全部或部分可以缓存在内

3、存中,在多次计算间重用。RDD--分布式弹性数据集可以把数据集保持在内存中,而不是在磁盘中,这样每次计算只需要从内存中读取数据,而不是通过IO读取磁盘,跨过了系统IO瓶颈,大大节省了数据传输时间.Scala语言的简洁的特点,所以,Spark非常合适做机器学习的工作中频繁的迭代计算.RDD可以从本地数据集中通过输入转换产生,也可以使用已保存的RDD,也可以从别的RDD转换而来,需要使用时,可以把RDD缓存在内存中(如果内存不够大,会自动保存到本地).RDD通过血统来实现容错机制,每一次转换,系统会保存转换日志,如果RDD出现故障,系统会根据转换日志重建RDD.

4、还有呢----血统Lineage:利用内存加快数据加载在众多的其它的In-Memory类数据库或Cache类系统中也有实现,Spark的主要区别在于它处理分布式运算环境下的数据容错性(节点实效/数据丢失)问题时采用的方案。为了保证RDD中数据的鲁棒性,RDD数据集通过所谓的血统关系(Lineage)记住了它是如何从其它RDD中演变过来的。相比其它系统的细颗粒度的内存数据更新级别的备份或者LOG机制,RDD的Lineage记录的是粗颗粒度的特定数据变换(Transformation)操作(filter,map,joinetc.)行为。当这个RDD的部分分区数据

5、丢失时,它可以通过Lineage获取足够的信息来重新运算和恢复丢失的数据分区。这种粗颗粒的数据模型,限制了Spark的运用场合,但同时相比细颗粒度的数据模型,也带来了性能的提升。适用领域和细节总之,Spark的核心思路就是将数据集缓存在内存中加快读取速度,同时用lineage关联的RDD以较小的性能代价保证数据的鲁棒性。正如其目标scope,Spark适用于需要多次操作特定数据集的应用场合。需要反复操作的次数越多,所需读取的数据量越大,受益越大,数据量小但是计算密集度较大的场合,受益就相对较小。快在哪里?使用内存缓存数据集快在以下几个方面:首先是磁盘IO,其

6、次数据的序列化和反序列化的开销也节省了,最后相对其它内存数据库系统,粗颗粒度的内存管理机制减小了数据容错的代价(如典型的数据备份复制机制)--------------------前面也有提到!HadoopVs.Spark适用范围大比拼1.HadoopVs.SparkHadoop/MapReduce和Spark最适合的都是做离线型的数据分析,但Hadoop特别适合是单次分析的数据量“很大”的情景,而Spark则适用于数据量不是很大的情景。这儿所说的“很大”,是相对于整个集群中的内存容量而言的,因为Spark是需要将数据HOLD在内存中的。一般的,1TB以下的数

7、据量都不能算很大,而10TB以上的数据量都是算“很大”的。比如说,20个节点的一个集群(这样的集群规模在大数据领域算是很小的了),每个节点64GB内存(不算很小,但也不能算大),共计1.28TB。让这样规模的一个集群把500GB左右的数据HOLD在内存中还是很轻松的。这时候,用Spark的执行速度都会比Hadoop快,毕竟在MapReduce过程中,诸如spill等这些操作都是需要写磁盘的。大数据的“电光石火”这儿有2点需要提一下:1)一般情况下,对于中小互联网和企业级的大数据应用而言,单次分析的数量都不会“很大”,因此可以优先考虑使用Spark,特别是当S

8、park成熟了以后(Hadoop已经出到2.5了,而

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。