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

Serverless y modos de ejecución

Contenido abierto

Puedes leer todo sin registrarte. Solo crearemos un perfil anónimo cuando decidas guardar tu 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.

Duración
17 min aprox.
Objetivo
Un pipeline mantenible separa datasets por dominio y capa, parametriza catálogos/rutas y mantiene efectos operativos fuera de las definiciones.
Siguiente paso
Continuar con el laboratorio
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
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.

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

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.

Modelo mental

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.
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.

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.

Recuerdo activo

¿Qué debe variar entre dev y prod?

Borrador privado · solo en este navegador
5 lecciones pendientes

Vista de lectura · sin ejecución

Learn Databricks

Learn Databricks · commit 08c378c

README.md