Saltar al contenido

Declarativo

Menú

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

Guardar progreso

Lección 4 de 5

Python y SQL en pipelines

Los flows estables cubren append, AUTO CDC y cargas `ONCE`; los sinks Python amplían destinos y `update_flow` sigue etiquetado como Public Preview.

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
04
Diagnóstico

Python y SQL en pipelines

Los flows estables cubren append, AUTO CDC y cargas `ONCE`; los sinks Python amplían destinos y `update_flow` sigue etiquetado como Public Preview.

Un default flow acompaña la definición normal de un dataset. Flows adicionales pueden unir feeds regionales en una misma streaming table sin construir un `union` monolítico. Un append flow añade filas; AUTO CDC aplica cambios ordenados; `ONCE` ejecuta una carga batch una sola vez salvo full refresh. Éstas son las rutas principales del módulo.

Los sinks permiten que un flow Python envíe registros a tablas, buses como Kafka/Event Hubs o un destino personalizado mediante `ForEachBatch`. Para agregados streaming globales sin watermark, `@dp.update_flow` emite sólo filas cambiadas hacia un sink, pero a 25 de agosto de 2026 es Public Preview y sólo Python: debe quedar como extensión opt-in, no como requisito del laboratorio o del blueprint.

SQLFlows regionales hacia una tabla
CREATE OR REFRESH STREAMING TABLE main.bronze.orders_all;

CREATE FLOW orders_eu AS INSERT INTO main.bronze.orders_all
BY NAME SELECT *, 'eu' AS region
FROM STREAM(main.raw.orders_eu);

CREATE FLOW orders_us AS INSERT INTO main.bronze.orders_all
BY NAME SELECT *, 'us' AS region
FROM STREAM(main.raw.orders_us);

Valida claves y esquema comunes; `BY NAME` evita depender del orden físico de columnas.

¿Qué madurez debe declararse al proponer `@dp.update_flow` para un agregado global hacia un sink?

Profundiza

Un flow es la unidad que describe cómo datos de una fuente llegan a un target. Separar flow y tabla permite que varios orígenes alimenten el mismo dataset bajo reglas claras: un append flow para regiones, un AUTO CDC flow para cambios de clientes o un flow `ONCE` para una carga histórica. La multiplicidad no equivale a permitir escrituras arbitrarias concurrentes; todos los flows forman parte del grafo y del protocolo gestionado del pipeline. `ONCE` ejecuta una carga una sola vez dentro del ciclo de vida registrado y puede volver a ejecutarse en un refresh completo, por lo que su lógica debe ser determinista. AUTO CDC es el nombre vigente recomendado; `APPLY CHANGES` conserva la misma sintaxis y sigue disponible, además de aparecer en material de certificación Professional. El estudiante debe reconocer ambos términos sin presentar el nombre anterior como la opción nueva.

Append flow

Flow declarativo que incorpora registros de una fuente al target sin interpretar cada nueva fila como una actualización de clave existente.

Permite unir fuentes append-only manteniendo progreso y observabilidad separados dentro del mismo pipeline.
Flow ONCE

Flow destinado a una carga finita que se ejecuta una vez en actualizaciones normales y puede repetirse durante full refresh.

Sirve para bootstrap o backfill, pero obliga a escribir lógica determinista y compatible con reconstrucción.
APPLY CHANGES

Nombre anterior todavía disponible para la API cuya opción recomendada actual se denomina AUTO CDC y conserva la misma sintaxis.

Puede aparecer en código legado y en el blueprint Professional, por lo que hay que reconocerlo sin confundir la recomendación vigente.
Resumen

Puntos clave

  • Varios append flows pueden escribir en una misma streaming table.
  • AUTO CDC targets solo aceptan flows AUTO CDC.
  • Sinks son Python; `update_flow` es Public Preview y se etiqueta explícitamente.

Evita

  • Mezclar append y AUTO CDC sobre el mismo target sin respetar las restricciones del flow.
  • Presentar `update_flow` Preview como núcleo estable o usar `ONCE` para datos que seguirán llegando.

Vista de lectura · sin ejecución

Learn Databricks

Learn Databricks · commit 08c378c

README.md

Módulo 18

Contenido del módulo