Contenido del curso
Administración y Gestion de la Plataforma de Databricks
- 5

Creación y Configuración de Clúster en Databricks
07:02 min - 6

Gestión de Datos y Notebooks en Databricks File System
11:25 min - 7

Transformaciones y Acciones en Apache Spark
03:42 min - 8

Qué son los RDDs en Apache Spark
02:30 min - 9

Creación y Transformaciones de RDDs en Databricks
17:01 min - 10

Ações em RDDs que todo iniciante precisa saber
05:33 min - 11

Lectura de Datos en Apache Spark con Databricks
09:36 min - 12

Spark UI en Databricks: qué muestra cada sección
04:23 min - 13

Cómo instalar librerías en Databricks
08:30 min - 14

Alternativas para Trabajar con Apache Spark: Local vs. Nube
03:42 min
Apache Spark SQL y UDF
Implementacion de un Delta Lake en Databricks
- 19

Arquitecturas Data Lake y Delta Lake en Big Data
05:24 min - 20

Delta Lake: Almacenamiento y Gestión de Datos en Big Data
01:32 min - 21

Arquitectura Medallion en Data Lake House: Capas Bronze, Silver y Gold
03:41 min - 22

Comandos Esenciales para Databricks File System (DBFS)
00:34 min - 23

Implementación de arquitectura Delta Lake en Databricks
06:38 min - 24

Capa gold en Delta Lake con Databricks
05:26 min - 25

Qué aprendiste y qué sigue en Databricks
02:14 min
Comandos esenciales de Spark SQL con PySpark
Resumen
Trabajar con Apache Spark SQL dentro de Databricks te permite ejecutar consultas estructuradas sobre grandes volúmenes de datos usando una sintaxis familiar. Aquí verás cómo aplicar comandos esenciales —desde select y filter hasta joins y agregaciones— sobre data frames, una habilidad clave si estás construyendo una arquitectura de Delta Lake o cualquier proyecto de ingeniería de datos moderno.
¿Qué es Spark SQL y cómo funciona con data frames?
Spark SQL es la API de Apache Spark diseñada para trabajar con datos estructurados. Su unidad central es el data frame, una representación tabular en filas y columnas que permite ejecutar consultas tipo SQL sobre un esquema definido [01:30].
La idea clave: Spark SQL combina lo mejor del lenguaje SQL con la flexibilidad de PySpark, la librería que conecta Spark con Python. Esto significa que puedes alternar entre comandos nativos de SQL y funciones programáticas según lo que necesites.
¿Qué es un data frame en Spark? Es una estructura de datos tabular, organizada en filas y columnas, que permite aplicar transformaciones y consultas SQL sobre datos estructurados.
¿Cómo se crea un data frame desde cero?
La función createDataFrame recibe una lista de diccionarios y devuelve la estructura tabular [02:45]. En el laboratorio se crean dos: uno para Empleados (con columnas ID, nombre, departamento, salario) y otro para Departamentos. Después conviene aplicar show para validar que los datos se cargaron sin anomalías.
Dos comandos exploratorios resultan útiles desde el inicio:
- count, para conocer la cantidad de registros del data frame.
- printSchema, para inspeccionar los tipos de datos como string o long.
¿Cómo seleccionar, filtrar y transformar columnas en PySpark?
Una vez que tienes el data frame, empieza la parte interesante: transformarlo. Y aquí Spark te ofrece varios caminos para llegar al mismo resultado.
La función select funciona igual que en SQL: eliges las columnas que quieres conservar. Si tu data frame de empleados tiene cuatro columnas y solo necesitas ID y nombre, select te devuelve únicamente esas dos.
¿Cuáles son las formas de aplicar un filter en Spark?
El filtrado tiene al menos cuatro sintaxis distintas que producen el mismo output [05:20]:
- Usando corchetes: df["id"] == 1.
- Notación de punto: df.id == 1.
- Función col importada de PySpark: col("id") == 1.
- Expresión como string: "id == 1".
La lección detrás de esto es importante. No hay una única forma correcta de hacer las cosas en Spark: elige la sintaxis que te resulte más legible y mantenible.
¿Cuál es la diferencia entre filter y where en Spark? Son alias: hacen exactamente lo mismo. Puedes usar la que te resulte más natural según tu background en SQL o Python.
¿Cómo eliminar y derivar columnas con drop y withColumn?
La función drop elimina una columna específica del data frame. Como todos los objetos en Spark son inmutables, debes guardar el resultado en un nuevo data frame [07:10]. No puedes modificar el original directamente.
Para crear columnas nuevas existe withColumn, que deriva una columna a partir de otra existente. En el laboratorio se genera una columna Bonus multiplicando la columna salary por una constante. Cada registro recibe su valor calculado automáticamente.
¿Cómo agrupar datos y hacer joins en Spark SQL?
Las operaciones de agrupamiento y combinación son donde Spark SQL realmente brilla, sobre todo cuando trabajas con datasets grandes en Databricks.
¿Cómo aplicar funciones de agregación con groupBy y agg?
El flujo es: agrupas con groupBy y aplicas agg con las funciones de agregación que necesites. Una buena práctica es importar las funciones de PySpark con un alias corto, como f, para invocarlas a lo largo del notebook [09:40].
Las agregaciones más comunes que puedes encadenar en una sola operación:
- count del salario.
- sum del salario.
- max y min del salario.
- avg o promedio del salario.
Agregar un alias a cada cálculo hace que el data frame resultante sea mucho más legible. Después de agrupar por departamento, obtienes una fila por cada uno con todas las métricas calculadas.
¿Qué tipos de joins existen en Spark SQL?
La lógica de los joins es idéntica a la de SQL clásico, solo cambia la sintaxis [11:50]. Necesitas dos data frames y una cláusula que defina la relación entre ellos. Los campos no necesitan llamarse igual, solo deben representar el mismo concepto.
Los cuatro tipos disponibles son:
- Inner join: es el tipo por defecto. Devuelve solo los registros coincidentes en ambos data frames.
- Left outer join: conserva todos los registros del data frame izquierdo y agrega los coincidentes del derecho.
- Right outer join: hace lo opuesto al left, mantiene la persistencia en la tabla derecha.
- Full outer join: combina left y right en una sola operación, basta con especificar outer.
¿Cuál es el join por defecto en Spark? Es el inner join. Si no especificas el parámetro how, Spark asume que quieres la intersección de ambos data frames.
Replica este flujo en tu propio workspace de Databricks importando el notebook del laboratorio. La mejor forma de internalizar estos comandos es ejecutarlos, romperlos y ajustarlos con tus propios datos. ¿Qué transformación te resultó más útil para tu proyecto de Delta Lake?