Spark特点及缺点?spark到底是平台模型
①.Spark的内存计算 主要体现在哪里?
②.目前Spark主要存在哪些缺点?
谢谢!
①.Spark的内存计算 主要体现在哪里?
(a) spark, 相比与map reduce最大的速度提升在于做重复计算时,spark可以重复使用相关的缓存数据,而M/R则会笨拙的不断进行disk i/o. (b) 为了提高容错性,M/R所有的中间结果都会persist到disk, 而M/R 则默认保存在内存。
②.目前Spark主要存在哪些缺点?
(a) JVM的内存overhead太大,①G的数据通常需要消耗⑤G的内存 -> Project Tungsten 正试图解决这个问题;
(b) 不同的spark app之间缺乏有效的共享内存机制 -> Project Tachyon 在试图引入分布式的内存管理,这样不同的spark app可以共享缓存的数据\", \"extras\": \"\", \"created_time\": ①④④⓪④⑧④④①⓪ · \"type\": \"answer
对于很多数据科学中的模型,模型的训练是以迭代形式进⾏. 在这种场景下,
我们需要反复地访问同⼀个训练集,计算训练集上的相关函数来优化模型参数. 在
上⼀节,我们已经讨论了可以将每⼀个迭代步骤使⽤⼀个MapReduce 作业来实
现. 然⽽MapReduce 的每⼀次作业都需要从磁盘加载数据,这就造成了严重的性
能问题.
对于交互式数据分析(例如在海量数据集中执⾏⼀些类似于SQL 的查询操
作),往往需要反复执⾏查询操作以深⼊理解和分析数据. 但是在MapReduce 中,
每⼀次查询均需要运⾏⼀个单独的MapReduce 作业,重新从磁盘遍历整个数据
集.
对于以上两种类型的任务,Hadoop 并不是⼀个很好的解决⽅案. 主要瓶颈在
于MapReduce 将磁盘作为计算过程中的数据存储. 本节我们将要介绍⼀个全新
的分布式数据处理平台Spark. Spark 是⾼效的分布式计算系统,最早由加州
⼤学伯克利分校的AMP 实验室④提出,②⓪①⓪ 年成为Apache 顶级项⽬⑤. Spark 核
⼼的想法是使⽤内存代替磁盘作为计算过程中的数据存储,这样对⼤规模数据集
进⾏反复的计算过程中,数据可以⼀直保存在内存中,从⽽能够⼤⼤提⾼数据处
理速度.
与Hadoop 相⽐,Spark 的主要不同包括:
①. Spark 的数据分析作业中间输出和结果可以保存在内存中,可以不再需要读
写HDFS,极⼤的提升了MapReduce 的效率;
②. Spark 提供了更多的数据集操作的⽅法,给数据分析⼈员带来更多灵活性,
不像Hadoop 只提供了map 和reduce 两种操作;
③. 对于机器学习算法、图算法有很好的⽀持.
Spark 系统基于⼀个创新的数据抽象类型:弹性分布式数据集(Resilient Distributed
Datasets, RDD).
Spark程序运行示意图
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息
