大数据时代,为什么使用Spark框架?

来源:互联网 发布:windows串口编程实例 编辑:程序博客网 时间:2024/05/20 01:02

1、轻量级快速处理

    Spark的快速是相当于Hadoop等其他分布式集群而言,其快速主要原因是基于内存的计算,减少了IO的操作,使用RDD可以将中间结果存放在内存或磁盘,以便之后做迭代计算时重复使用。

    Spark的轻量级体现在其仅仅是一个计算框架,且提供了Spark SQL、Spark Streaming、MLLib以及Graph X等框架,这些框架提供了轻量级的API来处理数据。


2、支持多语言

相比于Hadoop只支持Java,Spark支持的语言包括Scala、Java、Python,且提供了Spark R支持R语言。


3、支持复杂查询

相比于Hadoop中的算子操作只包含map、reduce而言,Spark支持的算子操作非常丰富,基于RDD的算子操作包括2大类:Transformation级别以及Action级别。Transformation的算子包括Map、filter、flatmap、groupByKey、reduceByKey等;Action级别的操作会真正触发Job的执行,包括count、reduce、first,collect等。

同时,Spark支持复杂的SQL查询,流处理,机器学习及图形处理等复杂的操作。


4、准实时的流处理

Hadoop一般只能进行离线处理。如果想进行准实时(以分钟为单位)的数据处理,则Spark Streaming是很好的选择,其是以时间间隔作为单位,以流的方式对数据进行不断的计算操作;

当然,如果做到实时处理(秒级别),还是Storm更加合适。


5、方便与Hadoop整合

Spark仅仅是一个计算框架,可以与Hadoop轻松整合,例如使用Spark作为计算引擎,存储引擎使用Hadoop的HDFS,资源管理引擎使用Hadoop的Yarn。


6、代码开源,版本可定制

Spark是开源框架,可以在源代码基础上,根据业务需求,进行二次开发。


参考:http://www.68dl.com//bigdata_tech/2014/0810/36_2.html


0 0
原创粉丝点击