Módulo: Spark SQL
Este módulo forma parte del curso de PySpark. .
Spark SQL permite ejecutar consultas SQL estándar directamente sobre DataFrames, combinando la expresividad del lenguaje SQL con la potencia del procesamiento distribuido de Spark. Esta integración facilita la adopción de PySpark por equipos con experiencia en SQL y permite reutilizar consultas existentes.
Para ejecutar SQL, primero se registra el DataFrame como vista temporal con createOrReplaceTempView() y después se lanza la consulta con spark.sql():
df.createOrReplaceTempView("empleados")
resultado = spark.sql("""
SELECT departamento, AVG(salario) AS salario_medio, COUNT(*) AS total
FROM empleados
WHERE activo = true
GROUP BY departamento
ORDER BY salario_medio DESC
""")
resultado.show()
Los joins combinan DataFrames por una condición: inner, left, right, full, cross, left_semi y left_anti. Las window functions (row_number, rank, dense_rank, lag, lead, sum acumulado) permiten cálculos sobre ventanas de filas definidas con partitionBy y orderBy.
Las UDFs extienden el motor SQL con lógica Python personalizada. Las pandas_udf (vectorizadas con Apache Arrow) ofrecen un rendimiento significativamente mayor que las UDFs clásicas de Python al procesar datos en lotes en lugar de fila a fila. El optimizador Catalyst analiza y reescribe el plan lógico para generar el plan físico más eficiente posible.
Otros módulos de este curso
Spark SQL
Todos los módulos del curso
Navega entre los módulos de PySpark
Spark SQL
Estás aquíExplora más sobre PySpark
Descubre más recursos de PySpark
Alan Sastre
Ingeniero de Software y formador, CEO en CertiDevs
Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, PySpark es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.