¿Cómo se actualizan las canalizaciones?

Cuando se ejecuta una actualización de canalización, actualiza las vistas materializadas y las tablas de streaming definidas en la canalización para que sus resultados reflejen el estado actual de los datos de origen. La forma en que se actualiza un conjunto de datos depende de su tipo y del tipo de actualización. Para obtener información sobre cómo desencadenar y administrar actualizaciones, consulte Ejecución de una actualización de canalización.

Tipos de actualización

De forma predeterminada, todas las vistas materializadas y la tabla de streaming de una canalización se actualizan con cada actualización. En la tabla siguiente se resume cómo se comporta cada tipo de actualización:

Tipo de actualización Vista materializada Tabla de flujo de datos
Actualizar (valor predeterminado) Actualiza los resultados para reflejar los resultados actuales de la consulta de definición. Azure Databricks examina el costo y realiza una actualización incremental cuando es más eficaz. Procesa registros nuevos a través de la lógica definida en tablas y flujos de streaming.
Actualización completa Vuelve a calcular los resultados para reflejar los resultados actuales de la consulta de definición. Borra los datos de las tablas de streaming, borra los puntos de control de los flujos y vuelve a procesar todos los registros del origen de datos.
Restablecimiento de los puntos de control de flujo de streaming No es aplicable a las vistas materializadas. Borra los puntos de control de los flujos, pero no borra los datos de las tablas de streaming y, a continuación, vuelve a procesar todos los registros del origen de datos.

Actualizar (valor predeterminado)

Una actualización predeterminada actualiza un conjunto de datos para reflejar los resultados actuales de su consulta de definición.

Las tablas de streaming son intrínsecamente incrementales. Una actualización de tabla de streaming evalúa solo los registros que llegaron desde la última actualización y los anexa, mediante la definición actual de la tabla. Los registros más antiguos no se vuelven a procesar, por lo que no se aplican los cambios que afectarían a los datos ya escritos. En otras palabras, una actualización predeterminada de una tabla de streaming intercambia la corrección de los datos por menor tiempo y costos de recursos. Para volver a procesar datos más antiguos, ejecute una actualización completa o restablezca los puntos de control de flujo.

Las vistas materializadas intentan una actualización incremental, pero vuelven a procesar todos los registros cuando sea necesario para mantener la tabla totalmente precisa. Una vista materializada se actualiza mediante uno de los dos métodos:

  • La actualización incremental identifica los cambios desde la última actualización y combina solo los datos nuevos o modificados.
  • La actualización completa ejecuta toda la consulta y reemplaza los datos existentes cuando una actualización incremental no es posible o no es rentable.

De forma predeterminada, Azure Databricks usa un modelo de costo para elegir el método más rentable. Puede anular esta opción con una política de actualización. Para conocer la semántica, los requisitos y SQL admitidos para la actualización incremental, consulte Actualización incremental para vistas materializadas.

Actualización completa

Una actualización completa vuelve a procesar todos los registros de los datos de origen a través de la lógica que define el conjunto de datos:

  • Para una vista materializada, una actualización completa vuelve a calcular el resultado completo. Dado que las vistas materializadas siempre devuelven el mismo resultado que una consulta por lotes, una actualización predeterminada y una actualización completa producen datos idénticos.
  • Para una tabla de transmisión, una actualización completa trunca la tabla, elimina los puntos de control de transmisión de sus flujos y vuelve a procesar todos los registros desde la fuente.

Dado que una actualización completa vuelve a procesar todos los datos de origen, el tiempo y el costo se escalan con el tamaño de esos datos. Databricks recomienda ejecutar una actualización completa solo cuando sea necesario, como cuando un cambio de definición o esquema no es compatible con los datos existentes. Una actualización completa de una tabla de streaming puede quitar registros si el origen ya no conserva los datos originales, por ejemplo, un tema de Kafka pasado su ventana de retención.

Para saber cuándo y cómo ejecutar una actualización completa de una tabla de streaming, consulte Actualización completa para tablas de streaming.

Restablecer puntos de control

El restablecimiento de los puntos de control solo se aplica a las tablas de streaming. Borra los puntos de control de streaming de los flujos seleccionados sin borrar los datos ya escritos en la tabla de streaming y, a continuación, vuelve a procesar todos los registros del origen a través de esos flujos. A diferencia de una actualización completa, se conservan los datos de tabla existentes.

Úselo cuando quiera volver a procesar un origen de streaming para los flujos seleccionados, por ejemplo, después de cambiar la lógica de un flujo, sin truncar la tabla.

El restablecimiento de los puntos de control se realiza mediante la API REST de Lakeflow Spark Declarative Pipelines. Para conocer los pasos, consulte Iniciar una actualización de canalización para borrar los puntos de control de flujos de streaming selectivos.

Recursos adicionales