Spark是一个用来实现快速而通用的集群计算的平台。Spark扩展了广泛使用的MapReduce平台计算模型,而且高效地支持更多模式,包括交互式查询和流处理。Spark的一个主要的特点就是能够在内存中进行计算。
Spark的核心是一个对由很多计算任务组成的,运行在多个工作机器或者是一个计算集群上的应用进行调度、分拨以及监控的计算引擎。
各组件间紧密结合的设计原理有这样的几个优点:
1.软件栈中所有的程序库和高级组件都可以从下层的改进中获益;
2.运行整个软件栈的代价变小了;
3.我们能够构建出无缝整合不同处理模型的应用
Spark有以下几个组件:
1. Spark Core
Spark Core实现了Spark的基本功能,包含任务调度,内存管理,错误回复,与储存系统交互等模块。还包含了对RDD的API定义。
2.Spark SQL
是Spark用来操作结构化数据的程序包
3.Spark Streaming
是Spark提供的对实时数据进行流式计算的组件
4.MLlib
一个常见的机器学习库
5.GraphX
用来操作图的程序库
6.集群管理器
就底层而言,Spark设计为可以高效地在一个计算节点到数千个计算节点之间伸缩计算。为了实现这样的要求,同时获得最大的灵活性,Spark支持在各种集群管理器上运行。
原文:http://www.cnblogs.com/cyoutetsu/p/6344332.html