
spark
文章平均质量分 83
learn spark
哈哈很哈哈
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spark 运行流程核心组件(三)任务执行
Spark任务执行机制摘要 Spark任务执行包含两种启动模式:standalone模式中Driver直接与Worker通信启动Executor;YARN模式下通过ResourceManager分配资源,由ApplicationMaster协调Executor启动。Executor端核心组件包括任务执行引擎、通信端点、数据管理和Shuffle处理器。任务执行流程分为接收初始化、运行和Shuffle处理三阶段:Driver下发任务后,Executor反序列化任务并创建TaskRunner线程执行,期间管理内存原创 2025-08-18 14:11:16 · 1114 阅读 · 0 评论 -
Spark 运行流程核心组件(二)任务调度
本文介绍了Spark调度系统的核心设计与实现。主要内容包括:Spark支持FIFO和FAIR两种调度策略,FAIR策略支持权重分配和树形调度池结构;采用数据本地性优化策略,从PROCESS_LOCAL到ANY逐级降级以减少数据传输开销;核心组件包括Schedulable接口、TaskSetManager任务管理和TaskScheduler资源协调;通过调度树结构实现多级资源分配,支持FIFO和FAIR两种调度模式,并详细说明了二者的比较逻辑与资源分配算法。系统通过Executor注册、Pool排序和Task原创 2025-08-15 15:42:14 · 739 阅读 · 0 评论 -
Spark 运行流程核心组件(一)作业提交
1、Client触发 SparkContext初始化向 Master注册应用3、Master调度 Worker启动 Executor4、Worker进程启动 Executor将作业分解为Stage分配Task到Executor。原创 2025-08-12 11:42:28 · 530 阅读 · 0 评论 -
Spark Memory 内存设计的核心组件、对比Flink内存配置
Spark内存管理摘要 Spark内存分为Driver和Executor两部分,采用堆内和堆外内存结合的方式。Driver内存主要用于存储元数据和任务调度状态,Executor内存则负责任务执行和数据处理。内存配置通过参数如spark.driver.memory和spark.executor.memory控制,包含统一内存池、用户内存和系统开销内存。估算内存消耗可使用RDD缓存观察或SizeEstimator工具。Executor中每个Task由独立的TaskMemoryManager管理内存生命周期。关键原创 2025-08-07 16:46:48 · 1085 阅读 · 0 评论 -
Spark Netty RPC实现
Spark RPC系统核心架构与优化要点 摘要:Spark RPC系统采用多层架构设计,核心包含RpcEnv运行时环境、RpcEndpoint通信实体和RpcEndpointRef远程引用三大组件。底层基于Netty实现高效网络传输,通过Dispatcher调度器实现消息路由,并采用Inbox/Outbox机制处理消息队列。系统特别优化了大文件传输,支持零拷贝技术和背压控制,并利用ByteBuf池化降低GC压力。典型应用场景包括Shuffle数据传输和节点间通信,通过案例demo展示了文件分块传输和异步处理原创 2025-07-08 19:24:36 · 431 阅读 · 0 评论 -
Spark AQE 原理分析
Spark AQE(自适应查询执行)核心由AdaptiveSparkPlanExec和QueryStageExec组成。AQE通过将查询计划拆分为独立阶段(ShuffleMapStage/ResultStage),在每个阶段完成后利用最新统计信息动态优化剩余查询。执行流程包括:解析SQL生成逻辑计划→优化→转换为物理计划→插入AdaptiveSparkPlan节点→分阶段执行优化。AdaptiveSparkPlanExec负责阶段划分和重新优化,当阶段完成时根据物化数据统计调整后续计划。该机制通过实时优化提原创 2025-07-10 11:36:20 · 436 阅读 · 0 评论