Spark(一) 架构及生态
- 一般当须要处理的数据量超过了单机尺度(好比咱们的计算机有4GB的内存,而咱们须要处理100GB以上的数据)这时咱们能够选择spark集群进行计算,有时咱们可能须要处理的数据量并不大,可是计算很复杂,须要大量的时间,这时咱们也能够选择利用spark集群强大的计算资源,并行化地计算,其架构示意图以下:

- Spark Core:包含Spark的基本功能;尤为是定义RDD的API、操做以及这二者上的动做。其余Spark的库都是构建在RDD和Spark Core之上的
- Spark SQL:提供经过Apache Hive的SQL变体Hive查询语言(HiveQL)与Spark进行交互的API。每一个数据库表被当作一个RDD,Spark SQL查询被转换为Spark操做。
- Spark Streaming:对实时数据流进行处理和控制。Spark Streaming容许程序可以像普通RDD同样处理实时数据
- MLlib:一个经常使用机器学习算法库,算法被实现为对RDD的Spark操做。这个库包含可扩展的学习算法,好比分类、回归等须要对大量数据集进行迭代的操做。
- GraphX:控制图、并行图操做和计算的一组算法和工具的集合。GraphX扩展了RDD API,包含控制图、建立子图、访问路径上全部顶点的操做
- Spark架构的组成图以下:

欢迎关注本站公众号,获取更多信息