Saltar al contenido
Lakehouse LabLakehouse LabPreparación Databricks Data Engineer
Módulo 18 · Lección

Framework Spark Declarative Pipelines y Lakeflow

Contenido abierto

Puedes leer todo sin registrarte. Solo crearemos un perfil anónimo cuando decidas guardar tu progreso.

Lección 1 de 5

Framework Spark Declarative Pipelines y Lakeflow

Spark Declarative Pipelines define datasets y dependencias; Lakeflow extiende el framework y gestiona el grafo, las actualizaciones, el linaje y los eventos.

Duración
17 min aprox.
Objetivo
Spark Declarative Pipelines define datasets y dependencias; Lakeflow extiende el framework y gestiona el grafo, las actualizaciones, el linaje y los eventos.
Siguiente paso
Continuar con la siguiente lección
Ver detalles del módulo

Spark Declarative Pipelines en Lakeflow

Declara datasets y dependencias para que Lakeflow gestione el grafo y la ejecución incremental sobre el framework actual de Spark.

Al terminar podrás
  • Crear tablas streaming y materialized views
  • Comparar declarativo con Structured Streaming
  • Distinguir Spark Declarative Pipelines de la oferta gestionada Lakeflow
Ver fuentes y revisión

Metadatos editoriales

Última revisión
21 jul 2026
Nivel
Professional
Ruta relacionada
pipelines
Dominios blueprint
Spark Declarative Pipelines · Lakeflow
Estado
Revisión editorial interna
Fuentes principales
Spark Declarative Pipelines flows · Databricks · Materialized views · Databricks
Reportar un error
01
Modelo mental

Framework Spark Declarative Pipelines y Lakeflow

Spark Declarative Pipelines define datasets y dependencias; Lakeflow extiende el framework y gestiona el grafo, las actualizaciones, el linaje y los eventos.

Mostrar prerrequisitos
Dificultad
Professional
Prerrequisitos
m12
Reportar un error en esta lección

En lugar de iniciar manualmente varios `writeStream`, cada función devuelve un DataFrame que define un dataset. Las lecturas entre datasets establecen dependencias y el pipeline determina el orden. Esto reduce código operativo, pero no elimina decisiones sobre contrato, incrementabilidad, calidad o coste.

El grafo debe expresar transformaciones de datos, no pasos imperativos con efectos externos. Crear archivos, llamar APIs o mutar tablas arbitrariamente dentro de una función declarativa rompe reevaluación y dificulta optimización. Esos efectos pertenecen a tareas de Jobs alrededor del pipeline.

Modelo mental

Spark Declarative Pipelines cambia la unidad de razonamiento desde una secuencia de comandos hacia un grafo de datasets y flows. El autor declara qué representa cada streaming table, materialized view o sink y sus dependencias se deducen de las lecturas; el motor construye el DAG, elige el orden válido y administra actualizaciones incrementales. En Databricks, Lakeflow pipelines es la oferta gestionada que extiende e interopera con el framework Apache Spark Declarative Pipelines sobre un runtime optimizado, añadiendo operación, event log, gobernanza y capacidades específicas. No debe confundirse el framework con el antiguo nombre comercial Delta Live Tables: código o exámenes previos pueden usar DLT, pero el modelo vigente se expresa como pipelines, flows y datasets. Declarativo no significa automático sin contrato: claves, semántica temporal, calidad, costes y compatibilidad siguen perteneciendo al diseño humano.

Pipeline

Unidad gestionada de desarrollo y ejecución que contiene datasets, flows, sinks, configuración y el grafo de dependencias que los relaciona.

Define la frontera de actualización, observabilidad y despliegue que el equipo opera como un producto coherente.
Flow

Relación declarativa que procesa una fuente mediante una consulta y escribe sus resultados en un destino administrado por el pipeline.

Separa la lógica de movimiento de datos del objeto persistente y permite varias entradas controladas hacia un target.
Evaluación declarativa

Fase en la que el runtime interpreta definiciones para descubrir objetos y dependencias antes de ejecutar el procesamiento efectivo de datos.

Explica por qué las funciones deben ser deterministas y no contener acciones, llamadas externas ni efectos dependientes del orden del archivo.
PySparkDos datasets declarativos conectados
from pyspark import pipelines as dp
from pyspark.sql import functions as F

@dp.table(name="orders_bronze")
def orders_bronze():
    return spark.readStream.table("main.raw.orders")

@dp.materialized_view(name="daily_order_totals")
def daily_order_totals():
    return (
        spark.read.table("orders_bronze")
          .groupBy(F.to_date("event_ts").alias("order_date"))
          .agg(F.sum("amount").alias("revenue"))
    )

El nombre lógico `orders_bronze` crea la dependencia; el pipeline administra actualización y metadatos.

Puntos clave

  • Las funciones declarativas devuelven DataFrames y no deben ejecutar acciones como `collect()` o escrituras manuales.
  • Las dependencias proceden de lecturas, no del orden físico de funciones en el archivo.
  • El event log ofrece progreso, calidad, linaje y errores del grafo.

Evita

  • Llamar `display`, `count` o `saveAsTable` dentro de una función decorada y mezclar declaración con ejecución.
  • Depender del orden del archivo en vez de leer explícitamente el dataset upstream.

Recuerdo activo

¿Qué crea una arista entre dos datasets del pipeline?

Borrador privado · solo en este navegador
5 lecciones pendientes

Vista de lectura · sin ejecución

Learn Databricks

Learn Databricks · commit 08c378c

README.md