Spark是什么?

(本人初次接触spark可能有些地方理解的不够到位,希望各位读者多多指正,对于不恰当的地方也会进行改进)

一、spark:快速通用的大规模数据处理引擎。(想对spark的定义和特点有较具体的认识可参考其官方网站:http://spark.apache.org/

官方文档:

二、spark的特点:

 1、速度快

在上篇文章中已经提到过spark的计算速度快是基于两原因:

一是:spark的计算是基于内存的;

二是:spark具有优秀的作业调度策略。

 2、易使用

spark提供了支持多种语言的API(scala、python、javan、R等),其中scala的使用最为广泛(spark是基于scala语言开发的)

 3、通用性

spark提供了Spark SQL 、Spark Streaming 、Mlib、Graghx组件:

(1)Spark Core :实现了 Spark 的基本功能(任务调度、内存管理、错误恢复、与存储系统交互等模块)。内部定义    了RDD(spark通过RDD将各组件联系在一起! ),提供了很多的API来创建和操作RDD。
 
(2)Spark SQL 是:Spark 用来操作结构化数据的程序包,可以用SQL语句进行数据查询。
 
(3)Spark Streaming : 实时数据流处理组建,提供了用来操作数据流的 API。
 
(4)MLlib:MLlib 提供了很多种机器学习算法(分类、回归、聚类、协同过滤等)。
 
 ( 5 ) GraphX :用来操作图的程序库,可以进行并行的图计算。
原文地址:https://www.cnblogs.com/yuming226/p/8117593.html