三、spark简介

一、简介

 

spark的官网:http://spark.apache.org/

spark解决了什么问题?

我们都知道hadoop,hadoop以一个非常容易使用的编程模型解决了大数据的两大难题:

1)分布式存储hdfs;

2)分布式计算mapReduce;

但是hadoop也存在着一些问题,最主要的缺陷在于它的延迟比较严重,因为hadoop的mapReduce总是需要进行大量的I/O,即使是中间输出结果也需要通过I/O来保存到HDFS中并再次读取。如果是在大规模迭代的情况下hadoop的效率就更不忍直视了。

而spark的诞生弥补了mapreduce的问题,并迅速成为了Apache的顶级项目。

由于spark是基于内存计算的,极大地减少了计算过程的I/O操作,在大规模的迭代计算中它的计算速度是hadoop的100多倍,如图:

spark的计算速度非常快,同时它支持scala、Python、Java以及R四种语言来编写spark应用,更加的易于使用。

spark核心组件

如图所示,spark主要包含了五块内容,在spark core的基础之上构建了4大组件

1、spark SQL:可以使用SQL来操作数据

文档地址:http://spark.apache.org/docs/latest/sql-programming-guide.html

2、spark stream:做流式计算的组件

文档地址:http://spark.apache.org/docs/latest/streaming-programming-guide.html

3、MLlib:spark用于数据挖掘的算法库

文档地址:http://spark.apache.org/docs/latest/ml-guide.html

4、graphx:用于图计算的算法库

文档地址:http://spark.apache.org/docs/latest/graphx-programming-guide.html

总结 

 spark并不是hadoop的替代品,相反它是hadoop的一个补充,弥补了mapReduce的缺陷。同时,spark并也会利用HDFS进行持久化操作,所以spark和hadoop本身是相辅相成的。而spark除了速度快之外,还提供了强大的组件用于SQL、流式计算、机器学习、图计算等。它也支持很多的数据源,并支持如scala、Python、Java、R等编程语言非常地易于使用。

posted @ 2018-12-01 00:42  __lay  阅读(479)  评论(0编辑  收藏  举报