Spark的架构图如下:
分别解释
1、Driver:运行 Application 的 main() 函数并且创建 SparkContext。
2、Client:用户提交作业的客户端。(类似于Hadoop里的Client)
3、Worker:集群中任何可以运行 Application 代码的节点,运行一个或多个 Executor进程。
4、Executor :运行在 Worker 的 Task 执行器, Executor 启动线程池运行 Task,并且负责将数据存在内存或者磁盘上。每个 Application 都会申请各自的 Executor 来处理任务。(类似于Hadoop里的NodeManager)
5、SparkContext:整个应用的上下文,控制应用的生命周期。(类似于Hadoop里的Context上下文)
6、RDD: Spark 的基本计算单元,一组 RDD 形成执行的有向无环图 RDD Graph。
7、DAG Scheduler:根据 Job 构建基于 Stage 的 DAG 工作流,并提交 Stage 给TaskScheduler。
8、TaskScheduler:将 Task 分发给 Executor 执行。
9、SparkEnv:线程级别的上下文,存储运行时的重要组件的引用。
本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/5718842.html,如需转载请自行联系原作者