主页 > 新闻资讯 > Spark实时处理流程:Spark数据计算流程

Spark实时处理流程:Spark数据计算流程

作者:张老师 浏览次数: 2020-02-18 17:27
目前市面上的大数据计算引擎,以Hadoop、Spark、Flink等为代表,针对不同的大数据处理场景,有着各自的优势表现。以Spark框架来说,实现了准实时数据处理,相对早期的Hadoop大大提高了数据处理的效率,因此在市场上备受青睐。今天我们就来为大家分享一些Spark实时处理流程的知识。

Spark实时处理流程

Spark数据处理,仍然采取的是分布式计算思想,Master-Slave模型,也就是主从结构。Spark数据处理的过程,涉及到几个概念,Master、Slave、Worker、Executor、Client以及Driver。

其中Master是控制节点,负责整个集群的正常运行;Worker相当于是计算节点,接收主节点命令与进行状态汇报;Executor负责任务的执行;Client作为用户的客户端负责提交应用,Driver负责控制一个应用的执行。

在Spark集群环境当中,当接到新的任务处理需求,需要在主节点和从节点分别启动Master进程和Worker进程,对整个集群实现控制。

Driver程序是应用逻辑执行的起点,负责作业的调度,即Task任务的分发,而多个Worker用来管理计算节点和创建Executor并行处理任务。在执行阶段,Driver会将Task和Task所依赖的file和jar序列化后传递给对应的Worker机器,同时Executor对相应数据分区的任务进行处理。

详细来说,Spark实时处理流程涉及到的组件配合,根据集群环境的部署不同,可能会有小的差别,但是总体来说大的环节流程是一致的。其中涉及到的角色如下:

Cluster Manager:在Standalone模式中即为Master(主节点),控制整个集群,监控Worker。在YARN模式中为资源管理器。

Worker:从节点,负责控制计算节点,启动Executor或Driver。在YARN模式中为NodeManager,负责计算节点的控制。

Driver:运行Application的main()函数并创建SparkContext。

Executor:执行器,在worker node上执行任务的组件、用于启动线程池运行任务。每个Application拥有独立的一组Executors。

总体来说,经过这些年的发展,Spark已经形成了相对完备的大数据生态,Spark实时处理流程稳定运行,基于Spark的整体框架,在数据处理上的性能和可靠性确实值得称赞。成都加米谷大数据,大数据知识分享,大数据开发培训班,更多详情可联系客服了解!
热点排行
推荐文章
立即申请>>