home
diamond Go Premium
Data Engineering Path  ·  PySpark

Spark Version Evolution

Series Data Engineering & Distributed Systems Series
Estimated Time ~20 Mins Read
Core Objective

"Trace Apache Spark's chronological evolution — from RDD genesis at UC Berkeley to DataFrames, Catalyst, Tungsten, Adaptive Query Execution (AQE), and Spark Connect 4.0."


Why Spark Replaced MapReduce

In 2009, UC Berkeley AMPLab researchers identified MapReduce's core flaw: disk-bound iterative execution. Iterative algorithms (Machine Learning, Graph Processing, PageRank) spend up to 90% of execution time writing intermediate states back to HDFS disks.

Spark introduced Resilient Distributed Datasets (RDDs):

  • Maintains intermediate processing states in Executor RAM.
  • Tracks a logical DAG lineage graph to reconstruct lost partitions automatically.
  • Runs iterative workloads up to 100x faster than Hadoop MapReduce.

Spark Evolutionary Eras

Spark 1.x (2014 - 2016): The Structured Era

Introduced RDDs, Spark SQL, the DataFrame API (Catalyst Optimizer), and the Dataset API for Scala/Java.

Spark 2.x (2016 - 2019): Tungsten & Streaming

Introduced the Tungsten Engine (whole-stage code generation, off-heap memory management) and Structured Streaming.

Spark 3.x (2020 - 2024): Intelligent Optimization

Added Adaptive Query Execution (AQE) (dynamic partition coalescing, skew join handling), Dynamic Partition Pruning (DPP), and native Pandas API integration.

Spark 4.0 (2025+): Distributed Client Architecture

Features Spark Connect (gRPC thin client connecting to remote clusters without heavy drivers), PySpark Arrow-vectorized execution, and RocksDB state stores.


Version Feature Matrix

Spark Version Core API Abstraction Key Engine Innovation
Spark 1.x RDDs & DataFrames Catalyst Query Optimizer
Spark 2.x Unified DataFrames / Datasets Tungsten & Structured Streaming
Spark 3.x DataFrames & Pandas on Spark AQE & Dynamic Partition Pruning
Spark 4.0 Spark Connect gRPC Client Arrow Vectorized PySpark UDFs
Find this content helpful? ☕ Buy me a coffee

Entity Details

Create New Item

celebration
Enjoying the free content?

Create a free account to track your progress and save your place.

Create Free Account
help

Submit Technical Query

Have a question or run into an issue? Describe it below, upload an optional screenshot, and our engineering team will answer it!

image Attach image (optional)

Submit Feedback

build Free Developer Utility Free Tool
gavel

Privacy & Legal Disclaimer

1. Client-Side Browser Processing

All utility tools on DeepEngineerHub (including Image to PDF, Text Formatters, JSON Converters, and Encryptors) execute 100% locally within your client browser using WebAssembly and JavaScript. No uploaded images, text, or documents are transmitted, collected, or stored on remote servers.

2. Limitation of Liability ("As-Is" Provision)

Tools and services are provided free of charge for convenience and educational purposes "as-is" without warranties of any kind. DeepEngineerHub shall not be held liable for any data loss, formatting inconsistencies, or indirect damages resulting from tool usage.

3. Open Source & Third-Party Software

Certain utilities utilize open-source client libraries (such as jsPDF, Mermaid.js, Pyodide) licensed under MIT, Apache, or BSD open licenses. All intellectual property remains with their respective copyright holders.