Apache Spark 4.2.0 se publicó el 14 de julio de 2026: es la tercera versión de la serie 4.x, con más de 1.700 tickets y más de 250 colaboradores. Ahora llega a las plataformas que la mayoría de equipos usa de verdad: Databricks la incluye en Databricks Runtime 19.0, mientras que el nuevo Runtime 2.0 de Microsoft Fabric se basa en Spark 4.1. Si escribes Spark SQL o PySpark, esta versión hace el trabajo diario bastante más agradable, y trae la captura de cambios y una capa semántica al Spark de código abierto.
Por fin, QUALIFY
Si has usado Snowflake, BigQuery o Databricks SQL, ya conoces QUALIFY: filtra sobre el resultado de una función de ventana, igual que HAVING filtra sobre un agregado. El Spark SQL de código abierto ya lo admite, así que la clásica consulta de «la última fila por cliente» pierde su subconsulta.
SELECT customer_id, order_id, order_date
FROM orders
QUALIFY ROW_NUMBER() OVER (
PARTITION BY customer_id ORDER BY order_date DESC
) = 1;SELECT customer_id, order_id, order_date
FROM (
SELECT *,
ROW_NUMBER() OVER (
PARTITION BY customer_id ORDER BY order_date DESC
) AS rn
FROM orders
) t
WHERE rn = 1;Otras mejoras de SQL: el scripting SQL incorpora cursores, la sintaxis de tuberías acepta | además de |> y ya admite agregados, PIVOT acepta alias, DROP TABLE puede borrar una vista, hay una función time_bucket para agrupar marcas de tiempo en intervalos fijos, y array_agg, collect_list y collect_set admiten IGNORE NULLS. Para repasar las funciones de ventana, lee las funciones de ventana de SQL explicadas.
Las novedades principales
- Captura de cambios
- Una cláusula CHANGES y API de DataFrame, PySpark y Connect leen los cambios fila a fila, en lote o en streaming.
- Auto CDC
- Las Spark Declarative Pipelines aplican un flujo de cambios a una tabla de destino como SCD de tipo 1, sin lógica MERGE escrita a mano.
- Vistas de métricas
- CREATE VIEW ... WITH METRICS define las métricas de negocio una sola vez, para SQL, herramientas de BI, aplicaciones y agentes de IA.
- Geoespacial
- Tipos GEOMETRY y GEOGRAPHY, funciones ST_ y lectura y escritura en Parquet, activados por defecto.
- Joins NEAREST BY
- Un join top-K para problemas de «la coincidencia más cercana», como emparejar embeddings o lugares próximos.
- Transacciones DSv2
- Los conectores pueden confirmar varias operaciones de forma atómica.
- Ruta SQL
- SET PATH y CURRENT_PATH() controlan dónde busca Spark funciones y vistas.
- Interfaz web
- Modo oscuro, planes de consulta con búsqueda y zoom, y comparación de planes lado a lado.
- Java 25
- Spark compila y funciona en Java 25. Se retira el soporte para R 3.x.
La captura de cambios pasa a primera línea
Muchos pipelines dedican una cantidad sorprendente de código a averiguar qué ha cambiado desde ayer. Spark 4.2 lo estandariza. Los conectores pueden exponer un flujo de cambios, Spark SQL lo lee con una nueva cláusula CHANGES, PySpark tiene una API changes() equivalente y las lecturas en streaming pueden devolver los cambios netos. Encima, Auto CDC en las Spark Declarative Pipelines aplica esos cambios a una tabla de destino como dimensión lentamente cambiante de tipo 1: gana la última versión de cada fila, sin escribir sentencias MERGE a mano.
Vistas de métricas: una capa semántica dentro de Spark
Las vistas de métricas te permiten declarar medidas y dimensiones una sola vez, con CREATE VIEW ... WITH METRICS, y reutilizarlas en SQL, paneles y agentes de IA. Es la misma idea que la dbt Semantic Layer, las vistas semánticas de Snowflake y los modelos semánticos de Power BI: una única definición de «ingresos» en lugar de cinco. Si esta forma de modelar es nueva para ti, nuestra guía sobre el esquema en estrella y el modelado dimensional explica la lógica de hechos y dimensiones que hay detrás.
PySpark: más rápido por defecto
Las UDF de Python optimizadas con Arrow y el intercambio de datos mediante Arrow entre la JVM y Python están ahora activados por defecto. Arrow mueve los datos por columnas en lugar de fila a fila, lo que suele ser mucho más rápido. PySpark también incorpora DataFrame.zipWithIndex, funciones de similitud y distancia entre vectores y el Real-Time Mode para consultas sin estado.
pip install --upgrade "pyspark==4.2.0"Streaming y rendimiento
- Nombres de origen estables: pon nombre a un origen de streaming y podrás añadir, quitar o reordenar orígenes sin romper los checkpoints.
- Estado más seguro: reparación automática de instantáneas y sumas de comprobación por fila detectan estados dañados.
- Planes más rápidos: pushdown de joins a través de UNION, generación de código whole-stage para UNION, ventanas y lectura de Parquet más rápidas, y serialización ORC de tipos anidados en aproximadamente la mitad de tiempo.
- Spark Connect:
head(),take()ytail()ya no recorren toda la tabla.
Dónde puedes usarlo
Databricks
Spark 4.2- Runtime
- Databricks Runtime 19.0
- Vistas de métricas, Auto CDC y QUALIFY disponibles ya
Microsoft Fabric
Spark 4.1- Runtime
- Fabric Runtime 2.0 (GA)
- Las novedades de Spark 4.2, como QUALIFY, esperan a un runtime posterior
Código abierto
Spark 4.2.0- Dónde conseguirlo
- spark.apache.org o pip
- Funciona en Java 25
Pon a prueba lo que has aprendido
1/3¿Qué hace QUALIFY?
Elimina la subconsulta al filtrar por ROW_NUMBER y similares.
2/3¿Cómo aplica Auto CDC los cambios?
Gana la última versión de cada fila.
3/3¿Qué cambio de PySpark está ahora activado por defecto?
Más rápido, pero prueba tus UDF por diferencias de tipos y nulos.
Has acertado 0 de 3.
¿Trabajas más con Python que con Spark? Lee las novedades de Polars 2.0 y la guía para actualizar a pandas 3.0. Sobre el formato de tabla del lakehouse que hay debajo, lee Iceberg v3 explicado.
Fuentes: las notas de la versión de Apache Spark 4.2.0 y la entrada del blog de Databricks «Introducing Apache Spark 4.2» (16 de julio de 2026). Revisa las notas completas para ver todos los cambios de comportamiento antes de actualizar.
