Spark 核心之 Spark-SortShufflebypass 原理深度剖析
BypassMergeSortShuffle是Spark中SortShuffleManager的极速Shuffle路径:无排序、无聚合、分区直写后合并,仅需满足三个条件——不需map端聚合、不需排序、分区数≤200(默认)。本文深度解析其触发逻辑、6步写入流程、Index文件生成及与另两种Writer的决策对比,助你精准调优。
Spark 核心之 Spark-WebUI 详解及日志查看
本文详解 Spark Web UI(4040端口)与 History Server(18080端口)的监控调优体系,涵盖 Jobs/Stages/Storage/Executors 等7大核心Tab指标解读、EventLog重放机制、log4j日志配置及YARN/K8s日志查看,并附架构图与命令速查表,助你高效排障与性能优化。(239字)
Spark 核心之 Master 原理剖析
Spark Master是Standalone集群的“指挥中心”,负责Worker注册与心跳、Driver/Executor资源调度(基于SpreadOutApps算法)、应用生命周期管理,并通过ZooKeeper实现主备选举与状态恢复,确保高可用。(239字)
Spark 核心之资源调度以及任务调度过程详解
本文以时间线梳理Spark两大调度:资源调度(6步)完成Executor启动,任务调度(7步)实现Task分发执行。全程结合源码与原创流程图,厘清spark-submit到Task运行的端到端机制,助你构建清晰调度心智模型。(239字)
Spark 核心之 Stage 和 Task 原理剖析
Spark中,Job由Action触发,DAGScheduler依Shuffle依赖切分为Stage:前序为ShuffleMapStage(生成中间文件),末尾为ResultStage(产出结果);每个Stage按分区数生成对应ShuffleMapTask或ResultTask。本文深度解析Stage划分、Task生成与序列化机制。(239字)
Spark 核心之 ClusterManager 原理剖析
本文深度解析 Spark 的 ClusterManager 抽象层:通过 ExternalClusterManager 接口与 ServiceLoader 机制,统一适配 Standalone/YARN/K8s 三大资源管理器。详解 Master URL 路由、源码实现对比及自定义扩展方法,揭示 Spark “调度不变、资源可插拔”的核心设计哲学。(239字)
Scala循环与判断:一切皆表达式的控制流
本文详解Scala控制流的“表达式思维”:if、for、match、try等皆为有返回值的表达式,而非Java式的语句。通过对比Java命令式写法,揭示Scala如何用for推导式生成集合、用match替代switch、用Try处理异常,助Java开发者完成函数式思维跃迁。(239字)
Spark 核心之 Application 和 Job 原理剖析
本文深入剖析Spark执行层级体系,厘清Application、Job、Stage、Task四层关系:1个Application可含多个Job(每个Action触发1个),Job按ShuffleDependency切分为Stage,Stage内Task数=分区数。结合源码链路、架构图与实战案例,助你彻底掌握Spark调度本质。(239字)
Spark 核心之广播变量、累加器原理深度剖析
本文深度解析Spark两大分布式共享变量:**广播变量**(基于TorrentBroadcast的BitTorrent分块分发机制,实现大对象高效只读共享)与**累加器**(基于AccumulatorV2的copyAndReset→merge回传模型,支持跨任务零开销聚合统计),涵盖底层原理、源码剖析与避坑实践。(239字)
Spark 核心之 YARN-Cluster 模式:原理、流程与源码级深度拆解
YARN-Cluster是Spark生产环境唯一推荐的部署模式:ApplicationMaster即Driver,SparkContext、DAGScheduler等全运行于AM Container中,实现资源隔离、去客户端化、HDFS本地性与AM重试容错。spark-submit提交后即可退出,全生命周期由YARN托管。(239字)