Spark学习笔记1

Spark学习笔记1,第1张

Spark学习笔记1

spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。

注意!!!主要作用就是做大数据的分析计算!不做其他的功能,比如说存储等。

Spark发展时间轴:

Spark是一种包含流处理能力的批处理框架,侧重于通过内存计算以及处理优化机制加快批处理的运行优化速度。可以作为独立的集群来部署,也可以和Hadoop集成,取代MapReduce。
Spark和Hadoop的MapReduce都是计算框架,但是Hadoop的MapReduce出现的时间稍微早一点,属于一次性数据计算式框架。
下图是MapReduce的job运算:

MR的一次性数据计算在处理复杂逻辑时性能很低,而且计算模型的计算引擎比较简单。
对于上层应用来讲,就得想办法来拆分我们的算法,甚至得在上层应用实现多个job的串联。迭代计算,意即上一次计算的结果是下一次的输入,但是它们靠的是磁盘交互,磁盘IO会非常影响性能。
MapReduce的迭代计算:

MapReduce最初并不是为了满足循环迭代式数据的处理。
在并行运行的数据处理场景当中,比如说机器学习,图计算,交互式数据计算,数据挖掘等。
Spark提供了更加丰富的数据处理模型,而且可以基于内存来做数据集的多次迭代计算,优化了计算过程,改善了计算方式。但是Spark部署在共享的集群当中,可能面临资源不足的问题

Spark和Hadoop的MapReduce的根本差异是多个作业之间的通信问题。Spark多个作业之间数据通信是基于内存,而MapReduce是基于磁盘。
在绝大多数的数据计算场景中,Spark确实会比Mapreduce更有优势,但是Spark是基于内存的,所以在实际的生产环境当中,由于内存的限制,会由于内存资源不足导致Job运行失败,此时,MapReduce是不错的选择,所以,Spark并不能完全取代MapReduce。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4967141.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存