Spark 核心之自定义累加器以及版本对比变化深度剖析摘要:Spark 1.x 的 Accumulator 接口存在严重设计缺陷:类型单调(IN=OUT)、无法自定义扩展、内置实现仅 4 种。Spark 2.0 引入了 AccumulatorV2[IN,OUT] 重构了整个累加器体系,通过 7 个核心抽象方法(add / merge / copy / copyAndReset / reset / isZero / value)实现了完全可扩展的累加器框架。本文从 Accumulator → AccumulatorV2 接口演化、自定义累加器实现模式、Exec