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.
- Crear tablas streaming y materialized views
- Comparar declarativo con Structured Streaming
- Distinguir Spark Declarative Pipelines de la oferta gestionada Lakeflow
05Decisión de diseñoServerless 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.
+
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.
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.
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.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.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.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