与Hadoop对比,如何看待Spark技术?
在大数据领域,hadoop和spark目前都占有举足轻重的地位,当然hadoop是大数据处理组件的开朝元老,Spark则是后起之秀,更有把前浪拍在沙滩上的趋势。
当然两者的对比,实际上是MapReduce和Spark运算模型的对比。
两者采用了完全不同的运算模型,
MapReduce采用的maptask并发+reduceTask并发的模型
map阶段做局部简单的数据处理,经过shuffle后用reduce做数据的聚合、关联、叠加的操作
spark1. 采用的是RDD数据模型,利用RDD之间的转换做数据处理
2. RDD每次转换都会生成新的RDD,形成流水线一样的前后依赖关系
3. 整个数据处理在内存中进行,极大的提升了处理速度
比较由于运算模型的不同,spark的运算速度要比MapReduce快很多,基于内存要快100倍,基于硬碟要快10倍以上
但是Spark本身不具备hadoop的hdfs这样的分散式文件系统,Spark处理的很多数据仍是hdfs上的数据
而且Spark在很多情况下都运行在Hadoop的资源管理系统Yarn上
所以在很大程度上还是依赖Hadoop的
从另一个方面,Spark也在慢慢取代Hadoop,
hive on Spark:取代MapReduce作为hive的计算引擎,大大提高了hive的效率,更加导致MapReduce的使用率减少
综合来看两者更多的是相互结合,相互促进,技术的革新也是无法避免的
上述就是对Hadoop和Spark的一点拙见,欢迎大家进行评论指教,也麻烦大家关注、点赞
学习使人充实,祝大家出任CTO、迎娶白富美!!!O(∩_∩)O
相较于Hadoop来说,spark技术在架构上分析:
spark计算过程在内存中执行并在内存中存储,直到用户保存为止。除此之外,Spark处理工作的方式基本与Hadoop类似。
在性能上来说:
Spark在内存中运行速度比Hadoop快100倍,在磁碟上运行速度快10倍。
在应用成本上来说:
设置Spark集群可能会更加昂贵,还有就是由于Spark是较新的系统,因此它的专家更为稀少,成本更高。
对于以后的应用发展来说:
Hadoop主要是用来处理数据,而spark主要是用来计算数据,对人工智慧的开发更有优势。
其实无论是那个技术,精通是很重要的!
以上只是自己的一点见解,有更多见解的欢迎一起交流学习!
推荐阅读: