产生背景
- 数据增长
随着互联网规模的爆发式增长,不断增加的数据量要求程序能够在更大规模的集群中进行计算 - 集群计算
集群计算引发数据共享,单点故障,执行效率以及程序并发执行等问题,从而产生了许多大数据处理框架。 - 不同的大数据计算框架带来了新的问题
大量数据模型的诞生,导致不同类型的计算,通常需要不同的处理框架,不同的处理框架由于天生的差异带来了重复计算,适用范围的局限性,资源分配,统一管理等问题。
spark组件
Client:提交应用的客户端
Driver:执行application中的main函数,创建Spark Context
Cluster Manager:在Yarn模式中为资源管理器,在Standalone模式中为控制整个集群的Master节点
Worker:从节点,负责控制计算节点。启动executor或者driver,在Yarn模式中为nodemanager
Executor:计算节点上执行任务的组件
SparkContext:应用的上下文,控制应用的生命周期
RDD:弹性分布式数据集,Spark的基本计算单元
DAG Schedule:根据应用构建基于Stage的DAG,并提交给Task schedule
Task Schedule:将task分发给executor
SparkEnv:线程级别的上下文