Impara  /  Novità

Apache Spark 4.2: le novità per analisti e data engineer

QUALIFY arriva finalmente in Spark SQL, il change data capture diventa una funzione di primo piano e PySpark è più veloce di default. Le novità di Spark 4.2 da conoscere e i cambi di comportamento da testare prima.

Novità8 min di letturaAggiornato il 17 ottobre 2026
PythonSQLDatabricksNovità
Tutte le guide e i cheat sheet

Apache Spark 4.2.0 è uscito il 14 luglio 2026: è la terza release della serie 4.x, con oltre 1.700 ticket e più di 250 contributori. Ora sta arrivando sulle piattaforme che la maggior parte dei team usa davvero: Databricks lo include in Databricks Runtime 19.0, mentre il nuovo Runtime 2.0 di Microsoft Fabric usa Spark 4.1. Se scrivi Spark SQL o PySpark, questa è la release che rende il lavoro quotidiano decisamente più piacevole, e porta change data capture e un livello semantico dentro Spark open source.

1700+Ticket risoltiin Spark 4.2.0
250+Contributorialla release
25Versione di Java supportataSpark ora si compila e gira su Java 25

QUALIFY, finalmente

Se hai usato Snowflake, BigQuery o Databricks SQL conosci già QUALIFY: filtra sul risultato di una window function, come HAVING filtra su un'aggregazione. Ora lo supporta anche Spark SQL open source, quindi la classica query "ultima riga per cliente" perde la sua subquery.

SQL
SELECT customer_id, order_id, order_date
FROM orders
QUALIFY ROW_NUMBER() OVER (
  PARTITION BY customer_id ORDER BY order_date DESC
) = 1;

Altri miglioramenti all'SQL: lo scripting SQL ha i cursori, la sintassi pipe accetta | oltre a |> e ora supporta le aggregazioni, PIVOT accetta gli alias, DROP TABLE può eliminare una vista, c'è una funzione time_bucket per raggruppare i timestamp in intervalli fissi, e array_agg, collect_list e collect_set supportano IGNORE NULLS. Per un ripasso sulle window function, leggi le window function SQL spiegate.

Le novità principali

Change data capture
Una clausola CHANGES e API per DataFrame, PySpark e Connect leggono le modifiche riga per riga, in batch o in streaming.
Auto CDC
Le Spark Declarative Pipelines applicano un feed di modifiche a una tabella di destinazione come SCD di tipo 1, senza logica MERGE scritta a mano.
Metric view
CREATE VIEW ... WITH METRICS definisce le metriche di business una sola volta, per SQL, strumenti di BI, app e agenti AI.
Geospaziale
Tipi GEOMETRY e GEOGRAPHY, funzioni ST_ e lettura e scrittura in Parquet, attivi di default.
Join NEAREST BY
Un join top-K per i problemi di "corrispondenza più vicina", come abbinare embedding o luoghi vicini.
Transazioni DSv2
I connettori possono confermare più operazioni in modo atomico.
SQL path
SET PATH e CURRENT_PATH() controllano dove Spark cerca funzioni e viste.
Interfaccia web
Modalità scura, piani di query ricercabili e ingrandibili e confronto affiancato dei piani.
Java 25
Spark si compila e gira su Java 25. Il supporto a R 3.x è stato rimosso.

Il change data capture diventa una funzione di primo piano

Molte pipeline dedicano una quantità sorprendente di codice a capire cosa è cambiato da ieri. Spark 4.2 lo standardizza. I connettori ora possono esporre un feed di modifiche, Spark SQL lo legge con una nuova clausola CHANGES, PySpark ha un'API changes() equivalente e le letture in streaming possono restituire le modifiche nette. In più, Auto CDC nelle Spark Declarative Pipelines applica queste modifiche a una tabella di destinazione come slowly changing dimension di tipo 1, così vince l'ultima versione di ogni riga senza scrivere a mano istruzioni MERGE.

Change data capture in Spark 4.2
Tabella sorgenteinserimenti, modifiche, cancellazioni
CHANGESlegge il feed delle modifiche
Auto CDCapplica come SCD di tipo 1
Tabella di destinazionesempre aggiornata

Metric view: un livello semantico dentro Spark

Le metric view ti permettono di dichiarare misure e dimensioni una sola volta, con CREATE VIEW ... WITH METRICS, e di riusarle in SQL, dashboard e agenti AI. È la stessa idea del dbt Semantic Layer, delle semantic view di Snowflake e dei modelli semantici di Power BI: una sola definizione di "ricavi" invece di cinque. Se questo modo di modellare è nuovo per te, la nostra guida a star schema e modellazione dimensionale spiega il ragionamento su fatti e dimensioni che ci sta dietro.

PySpark: più veloce di default

Le UDF Python ottimizzate con Arrow e lo scambio di dati via Arrow tra JVM e Python sono ora attivi di default. Arrow sposta i dati per colonne invece che riga per riga, ed è di solito molto più veloce. PySpark ha anche guadagnato DataFrame.zipWithIndex, funzioni di similarità e distanza tra vettori e la Real-Time Mode per le query senza stato.

Terminal
pip install --upgrade "pyspark==4.2.0"

Streaming e prestazioni

  • Nomi stabili per le sorgenti: dai un nome a una sorgente streaming e puoi aggiungere, rimuovere o riordinare sorgenti senza rompere i checkpoint.
  • Stato più sicuro: riparazione automatica degli snapshot e checksum di riga individuano lo stato corrotto.
  • Piani più veloci: pushdown dei join attraverso UNION, generazione di codice whole-stage per UNION, finestre e lettura Parquet più veloci, e serializzazione ORC dei tipi annidati in circa metà del tempo.
  • Spark Connect: head(), take() e tail() non scansionano più l'intera tabella.

Dove puoi usarlo

Databricks

Spark 4.2
Runtime
Databricks Runtime 19.0
  • Metric view, Auto CDC e QUALIFY disponibili ora

Microsoft Fabric

Spark 4.1
Runtime
Fabric Runtime 2.0 (GA)
  • Le novità di Spark 4.2, come QUALIFY, aspettano un runtime successivo

Open source

Spark 4.2.0
Dove scaricarlo
spark.apache.org o pip
  • Gira su Java 25

Verifica cosa hai capito

1/3Cosa fa QUALIFY?

2/3Come applica le modifiche Auto CDC?

3/3Quale novità di PySpark è ora attiva di default?

Lavori più in Python che in Spark? Leggi le novità di Polars 2.0 e la guida all'upgrade a pandas 3.0. Per il formato di tabella del lakehouse che sta sotto, leggi Iceberg v3 spiegato.

Fonti: le note di rilascio di Apache Spark 4.2.0 e il post del blog di Databricks "Introducing Apache Spark 4.2" (16 luglio 2026). Controlla le note di rilascio complete per ogni cambio di comportamento prima dell'upgrade.

Alessandro Ecclesie AgazziScritto da Alessandro Ecclesie Agazzi, analytics engineer a Londra. Aggiornato il 17 ottobre 2026. Chi sono

Ti è stato utile?

Qui escono regolarmente nuove guide e articoli sulle novità di dati e AI. Seguimi su LinkedIn o condividi questo articolo con un collega.