Saltar al contenido

DataFrames

Menú

Puedes leer sin crear un espacio. Créalo solo cuando quieras guardar.

Guardar progreso

Lección 1 de 5

Transformaciones y acciones

Las transformaciones construyen un plan lógico; las acciones lo ejecutan y materializan un resultado.

17 min aprox.

Detalles

DataFrames, transformaciones y datos complejos

Domina las operaciones que aparecen en ETL real: joins, arrays, structs, ventanas y deduplicación.

Reto observable

Dado un dataset semiestructurado, publica una tabla normalizada con esquema explícito y demuestra unicidad de claves, cardinalidad y tratamiento de registros inválidos.

Al terminar podrás
  • Transformar columnas y filas con funciones nativas
  • Manipular arrays, maps y structs
  • Combinar y deduplicar datasets de forma determinista
Prerrequisitos
m03
Última revisión
25 ago 2026
Nivel
Associate
Ruta relacionada
core
Dominios blueprint
Data Transformation and Modeling · PySpark DataFrames
Estado
Revisión editorial interna
Fuentes principales
PySpark DataFrames · DataFrame transformations
Reportar un error
01
Modelo mental

Transformaciones y acciones

Las transformaciones construyen un plan lógico; las acciones lo ejecutan y materializan un resultado.

DataFrames son inmutables: select, filter o withColumn devuelven un nuevo plan sin leer todos los datos inmediatamente. Catalyst puede reorganizar y simplificar ese plan antes de ejecutarlo.

count, collect, write y display son acciones. Repetir acciones sobre el mismo linaje puede recalcularlo; cache solo compensa si hay reutilización medida y memoria suficiente.

PySparkObservar lazy evaluation
paid = orders.filter("status = 'paid'").select("order_id", "amount")
paid.explain("formatted")
rows = paid.count()

explain inspecciona el plan; count inicia la ejecución.

¿filter ejecuta inmediatamente una lectura?

Profundiza

La API DataFrame es perezosa: una transformación describe una nueva relación y una acción exige un resultado. Spark no procesa fila por fila al escribir select, filter o join; acumula un plan lógico que Catalyst puede reorganizar. count, collect, write o una visualización desencadenan un job que materializa parte del linaje. Esta separación permite pushdown, poda de columnas y elección de joins, pero también sorprende cuando una acción repetida recalcula todo. Cache solo tiene sentido si el mismo resultado costoso se reutiliza y cabe con seguridad. Para razonar sobre rendimiento, identifica dónde se define el plan, dónde nace una acción y qué fronteras de shuffle dividen stages.

Transformación

Operación perezosa que produce un nuevo DataFrame y amplía el plan lógico.

Permite componer trabajo antes de que Spark elija cómo ejecutarlo.
Acción

Operación que solicita un resultado y desencadena la ejecución del plan necesario.

Marca el punto donde aparecen coste, jobs y errores ligados a datos.
Linaje

Cadena de dependencias de transformaciones necesaria para recomputar un DataFrame.

Explica recalculo, recuperación y cuándo una caché puede aportar valor.
Resumen

Puntos clave

  • Transformaciones son lazy
  • Acciones disparan jobs
  • Cache es una decisión medida

Evita

  • Usar collect sobre un dataset grande
  • Cachear cada DataFrame por costumbre

Fuente revisada · vista externa

Azure Databricks Hands-on

Azure Databricks Hands-on · commit a91650b

HandsOn.dbc

Archivo importable

Este notebook se abre desde su fuente revisada

El repositorio no permite republicar su contenido dentro de Lakehouse Lab. Conservamos la misma experiencia lateral, la ruta exacta y el commit auditado, y dejamos la lectura en GitHub para respetar la autoría.

Autor
Tsuyoshi Matsuzaki
Licencia
No verificada
Formato
dbc
Abrir / descargar .dbc

Módulo 04

Contenido del módulo