您的位置:首页 > 其它

Spark框架

2015-11-24 21:31 253 查看
Spark的整体流程为:Client提交应用,Master找到一个Worker启动Driver,Driver向Master或者资源管理器申请资源,之后将应用转化为RDD Graph,再由DAGScheduler将RDD Graph转化为Stage的有向无环图提交给TaskScheduler,由TaskScheduler提交任务给Executor执行。在任务执行的过程中,其他组件协同工作,确保整个应用顺利执行。



Client:作为用户的客户端负责提交应用。

Master:作为整个集群的控制器,负责整个集群的正常运行。

Worker:相当于计算节点,接收主节点命令并进行状态汇报。

Driver:负责控制一个应用程序,其运行Application的main()函数,并创建SparkContext。

SparkContext:是整个应用的上下文,控制应用的生命周期。

RDD:Spark的基本计算单元,一组RDD可形成执行的有向无环图RDD Graph。

DAGScheduler:根据作业(Job)构建基于Stage的DAG,并提交Stage给TaskScheduler。

TaskScheduler:将任务分发给Executor。

Executor:执行器,在worker node上执行任务的组件,用于启动线程池运行任务。

Spark框架中其他组件的作用:

SparkConf:负责存储配置信息。

MetricsSystem:监控运行时性能指标信息。

BlockManager:负责存储管理,负责创建和查找block。

BrocastManager:负责广播变量的控制与元信息的存储。

Progress is not created by contented people.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: