Spark与flink计算引擎工作原理(1)

Spark是大批量分布式计算引擎框架,scale语言开发的,核心技术是弹性分布式数据集(RDD)可以快速在内存中对数据集进行多次迭代,支持复杂的数据挖掘算法及图形计算算法,spark与Hadoop区别主要是spark多个作业之间数据通信是基于内存的,Hadoop是基于磁盘的
Spark运行架构:
Spark框架的核心是一个计算引擎,采用了标准master-slave的结构。如下图所示,它展示了一个 Spark 执行时的基本结构。图形中的Driver表示 master,负责管理整个集群中的作业任务调度。Executor则是 slave,负责实际执行任务。

在这里插入图片描述

Spark搭建模式:
Local本地模式:单机本地使用多线程实现分布式计算,一般测试环境使用
在这里插入图片描述
standalone:

spark ON Yarn 常用(推荐),在实际开发中,大数据任务都有统一的资源管理和任务调度工具进行管理,YARN比较成熟,支持多种调度策略,例如Capcity等,可以使用YARN调度管理MR/Hive/spark/flink
spark ON Yarn本质是spark任务的字class字节码文件打包成jar包,上传到YARN集群的JVM中去运行,Spark On Yarn根据Driver运行在哪里分为2种模式:client模式和cluster模式

client模式:
spark的driver驱动程序,运行在提交任务的客户端上,和集群通信成本比较高
因为driver的在客户端,所以driver中的程序结果输出可以在客户端控制台看到

ApplicationMaster介绍
Hadoop用户向YARN集群提交应用程序时,提交程序中包含ApplicationMaster,用于向资源调度器申请执行任务的资源容器Container,运行用户自己的程序任务job,监控整个任务的执行,跟踪整个任务的状态,处理任务失败等异常情况。ResourceManager(资源)和Driver(计算)之间的解耦合靠的就是ApplicationMaster。
在这里插入图片描述
cluster模式:spark的driver驱动程序,运行在Yarn集群上,和集群通信成本比较低
driver是提交给yarn管理的,如果失败会由Yarn重启,driver中的程序输出需要在Yarn日志查看

在这里插入图片描述

spark常用术语:
在这里插入图片描述

Application:是指用户编写的Spark应用程序,其中包括一个Driver功能的代码和分布在集群中多个节点上运行的Executor代码

Driver:Spark中的Driver是运行上述Application的main函数,运行main函数会创建SparkContext,创建SparkContext的目的是为了准备Spark应用程序的运行环境,在Spark中SparkContext负责与ClusterManager通信,进行资源申请、任务的分配和监控等,当Executor部分运行完毕后,Driver同时负责将SparkContext关闭,通常用SparkContext代表Driver

ClusterManager集群管理器,对于YARN模式就是resourceManager/ApplicationMaster,在集群上做统一资源管理

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值