Puedes leer sin crear un espacio. Créalo solo cuando quieras guardar.
Guardar progresoLecció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.
17 min aprox.
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.
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`.
¿Cuál es la relación entre AUTO CDC y APPLY CHANGES?
Profundiza
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ó.Resumen
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.