spark组件-spark core(批处理)
Apache Spark Core 是 Apache Spark 框架的核心引擎,提供分布式计算的基础能力,包括任务调度、内存管理、容错机制和跨节点通信,支撑上层组件(如 Spark SQL、MLlib)的高效运行。其核心设计以弹性分布式数据集(RDD)为核心抽象,通过内存计算和 DAG 优化实现比 Hadoop MapReduce 快 10-100 倍的性能提升。以下是详细解析:
一、核心概念与架构
-
弹性分布式数据集(RDD)
RDD 是 Spark Core 的基础数据抽象,代表跨集群分区的只读数据集合。其特性包括:- 容错性:通过血缘记录转换历史,节点故障时自动重建丢失分区,无需数据冗余存储。
- 惰性求值:转换操作(如
map
、filter
)仅构建依赖关系图,动作操作(如collect
)触发实际计算,优化资源利用。 - 分区并行处理:数据划分为多个分区,分布到集群节点并行计算,提升吞吐量。
-
架构组件
Spark Core 采用主从架构:- Driver Program:应用入口,通过
SparkContext
提交作业、管理任务调度与数据共享。 - Cluster Manager:资源调度器,支持 Standalone、YARN 或 Kubernetes 模式,分配集群资源。
- Executor:工作节点进程,执行任务并缓存数据,每个节点运行一个或多个实例。
- Driver Program:应用入口,通过