Puedes leer todo sin registrarte. Solo crearemos un perfil anónimo cuando decidas guardar tu progreso.
Lección 3 de 5
Keys y sequence_by
AUTO CDC es el nombre actual de las APIs de pipelines que reemplazan a APPLY CHANGES y automatizan orden, deduplicación, deletes y SCD.
- Duración
- 17 min aprox.
- Objetivo
- AUTO CDC es el nombre actual de las APIs de pipelines que reemplazan a APPLY CHANGES y automatizan orden, deduplicación, deletes y SCD.
- Siguiente paso
- Continuar con la siguiente lección
Ver detalles del módulo
Change Data Feed, CDC, AUTO CDC y SCD
Procesa inserciones, actualizaciones y borrados respetando clave, secuencia y retención.
- Consumir Change Data Feed
- Modelar CDC con AUTO CDC y reconocer APPLY CHANGES
- Elegir SCD tipo 1 o 2
03OperaciónKeys y sequence_by
AUTO CDC es el nombre actual de las APIs de pipelines que reemplazan a APPLY CHANGES y automatizan orden, deduplicación, deletes y SCD.
+
Keys y sequence_by
AUTO CDC es el nombre actual de las APIs de pipelines que reemplazan a APPLY CHANGES y automatizan orden, deduplicación, deletes y SCD.
En SQL se declara una streaming table target y un flow `AUTO CDC INTO`. En Python se usa la API equivalente de Spark Declarative Pipelines en Lakeflow. La fuente debe ser streaming y la clave, secuencia y reglas de borrado quedan en la definición declarativa.
`APPLY CHANGES` sigue disponible por compatibilidad y comparte sintaxis, pero Databricks recomienda AUTO CDC. En documentación, código nuevo y respuestas de diseño debe aparecer el nombre actual; mencionar APPLY CHANGES solo aclara una configuración anterior o una migración.
Modelo mental
AUTO CDC es la API actual de Lakeflow pipelines para convertir un feed de cambios en una tabla SCD sin implementar manualmente orden, deduplicación y aplicación. Reemplaza el nombre anterior `APPLY CHANGES`; las APIs antiguas siguen disponibles, pero la documentación recomienda `AUTO CDC`. En Python se declara una streaming table destino y se crea un flow con `dp.create_auto_cdc_flow`; en SQL se usa `AUTO CDC INTO`. El autor aporta claves, `sequence_by`, reglas de delete, tratamiento de nulls, columnas y tipo SCD. El servicio se ocupa de eventos fuera de orden dentro de su semántica, pero no inventa un contrato correcto: una secuencia ambigua o clave inestable sigue produciendo un modelo defectuoso. También conviene distinguir Lakeflow pipelines, que extiende el framework declarativo con capacidades administradas, del proyecto Apache Spark Declarative Pipelines; AUTO CDC es una capacidad Databricks de Lakeflow, no una API portátil del núcleo Apache.
API administrada de Lakeflow pipelines que aplica un change feed ordenado a una tabla SCD tipo 1 o 2.
Reduce lógica manual propensa a errores y es la terminología actual recomendada por Databricks.Expresión escalar o estructurada que establece el orden de cambios para cada clave del flujo.
Gobierna la resolución de eventos tardíos y la construcción correcta de estado e intervalos.Condición que identifica qué registros del feed representan eliminaciones de la entidad destino.
Sin ella, un tombstone podría tratarse como upsert y dejar datos que el origen ya eliminó.CREATE OR REFRESH STREAMING TABLE main.silver.customers_current;
CREATE FLOW customers_cdc_flow AS AUTO CDC INTO
main.silver.customers_current
FROM STREAM(main.bronze.customer_cdc)
KEYS (customer_id)
APPLY AS DELETE WHEN operation = 'DELETE'
SEQUENCE BY struct(sequence_number, event_ts)
COLUMNS * EXCEPT (operation, sequence_number)
STORED AS SCD TYPE 1;`APPLY CHANGES INTO` es la denominación anterior. Para implementaciones nuevas usa `AUTO CDC INTO`.
Puntos clave
- AUTO CDC sustituye a APPLY CHANGES con la misma finalidad y sintaxis equivalente.
- El target de un flow AUTO CDC es una streaming table.
- La declaración no elimina la necesidad de validar claves, secuencia, deletes y retención.
Evita
- Copiar ejemplos antiguos y presentar APPLY CHANGES como la API recomendada actual.
- Omitir `SEQUENCE BY` autoritativo y asumir que el pipeline puede inferir el orden correcto.
Recuerdo activo