Spark四大特点
-
1-运行速度快:
-
方面一:spark是基于内存计算的,采用DAG有向无环图进行无环计算操作,中间计算的结果可以保存在内存中
-
方面二:spark是基于线程运行的,线程的启动和销毁速度要高于进程的效率的
-
-
2-易用性:
-
方面一:spark提供了多种语言客户端,可以运行多种语言操作,spark,比如Python SQL Java Scala R…
-
方面二:spark 提供了更多高阶的API, 而且这些API 在不同的语言上,基于都是一样的,大大的降低了程序员学习的难度。
-
-
3-通用性强:
-
spark提供了多种工具库,用于满足各种计算的场景
-
spark core :spark 的核心库,主要是放置spark 的核心的API ,内存管理的API,包括维护RDD的数据结构
-
spark SQL :通过SQL操作的spark 的计算框架
-
spark streaming :spark 的流处理,主要是用于支持流式计算(实时计算)
-
spark MLlib :spark 的机器学习库,主要包括主要算法库:回归,聚类…
-
spark graphx: spark 的图计算,比如行程规划
-
-
4-随处运行:
-
方面一:编写的spark 程序可以运行在不同的资源调度平台上:YARN,spark 集群,云上调度器
-
方面二:spark 程序可以和大数据生态圈中各种软件进行集成,让我们能够更加方面使用spark和相关软件
-
为什么spark的执行效率快
- 原因一:spark提供了一个全新的数据结构RDD
- 通过这个数据结构,让分布式执行引擎能够在内存中进行计算,同时能够更好完成迭代计算操作,对于MR 来说,主要是基于磁盘计算的
- 原因二:spark 是基于线程运行的,MR是基于进程运行的
- 线程的启动和销毁的速度要远远高于进程的启动和销毁