Saltar al contenido

Declarativo

Menú

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

Guardar progreso

Lección 5 de 5

Serverless y modos de ejecución

Un pipeline mantenible separa datasets por dominio y capa, parametriza catálogos/rutas y mantiene efectos operativos fuera de las definiciones.

17 min aprox.

Detalles

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.

Reto observable

Declara un grafo bronze-silver-gold sin efectos imperativos y demuestra dependencias, actualización incremental y estrategia observada en el event log.

Al terminar podrás
  • Crear tablas streaming y materialized views
  • Comparar declarativo con Structured Streaming
  • Distinguir Spark Declarative Pipelines de la oferta gestionada Lakeflow
Prerrequisitos
m12
Última revisión
25 ago 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
05
Decisión de diseño

Serverless y modos de ejecución

Un pipeline mantenible separa datasets por dominio y capa, parametriza catálogos/rutas y mantiene efectos operativos fuera de las definiciones.

Los archivos Python pueden agruparse por bronze, silver y gold o por dominio, siempre que los nombres de dataset sean únicos. Configuración como catálogo fuente, paths y umbrales entra mediante parámetros del pipeline, no constantes replicadas. Las funciones de transformación puras se prueban fuera de los decoradores.

Dev, test y prod ejecutan el mismo código con targets y permisos distintos. Una actualización se valida en un catálogo aislado y con datos representativos antes de promover. El owner revisa event log, lineage y cambios de esquema tras desplegar.

PythonConfiguración de entorno sin duplicar código
source_catalog = spark.conf.get("pipelines.source_catalog")
target_catalog = spark.conf.get("pipelines.target_catalog")
lateness = spark.conf.get("pipelines.orders_lateness", "15 minutes")

source_table = f"{source_catalog}.bronze.orders"
target_prefix = f"{target_catalog}.commerce"

assert source_catalog != target_catalog or target_catalog.endswith("_dev")

Aplica permisos y ownership en la configuración de despliegue; una aserción no sustituye las políticas del entorno.

¿Qué debe variar entre dev y prod?

Profundiza

Un proyecto declarativo mantenible organiza contratos, dominios y capas antes que archivos gigantes. Cada dataset tiene nombre estable, owner, comentario, claves, expectativas y dependencia clara; las funciones de definición son pequeñas y puras. La configuración de entorno —catálogo, schema, ubicaciones, tamaño o modo de ejecución— se inyecta desde el pipeline o bundle y no se codifica en cada notebook. El código compartido puede normalizar columnas y reglas, pero no debe generar dinámicamente un grafo imposible de revisar. Bronze conserva fidelidad de origen, silver aplica contratos y gold sirve productos; dividir por capas solo es útil si cada frontera tiene semántica de recuperación. Tests unitarios cubren funciones de DataFrame, mientras pruebas de integración crean datasets temporales y ejecutan updates. Lakeflow pipelines aporta la operación gestionada; el proyecto sigue necesitando control de versiones, revisión y promoción reproducible.

Definición pura

Función declarativa determinista que construye y devuelve un DataFrame sin ejecutar acciones ni producir efectos externos durante la evaluación.

Garantiza que el mismo código y configuración generen el mismo grafo en validación, despliegue y reintento.
Frontera de pipeline

Conjunto de datasets y flows que comparten actualización, configuración, permisos, observabilidad y estrategia de recuperación coordinada.

Equilibra aislamiento operativo con complejidad y evita agrupar dominios que no deberían fallar o desplegarse juntos.
Promoción reproducible

Proceso que despliega el mismo artefacto versionado en dev, test y prod cambiando únicamente configuración controlada y credenciales.

Reduce divergencias manuales y permite atribuir cada resultado a una versión concreta revisada y probada.
Resumen

Puntos clave

  • Configuración cambia por entorno; lógica y artefacto permanecen iguales.
  • Transformaciones puras son comprobables sin arrancar el pipeline completo.
  • Nombres, comentarios y propiedades de tabla forman parte del contrato gobernado.

Evita

  • Copiar el pipeline entero para prod y permitir que las versiones diverjan.
  • Introducir llamadas externas en funciones declarativas y crear resultados no deterministas durante reevaluación.

Vista de lectura · sin ejecución

Learn Databricks

Learn Databricks · commit 08c378c

README.md

Módulo 18

Contenido del módulo