Ejecución de una actualización en una canalización de Delta Live Tables
En este artículo se explican las actualizaciones de canalización y se proporcionan detalles sobre cómo desencadenar una actualización.
¿Qué es una actualización de canalización?
Una vez que cree una canalización y tenga todo listo para ejecutarla, inicie una actualización. Una actualización de canalización hace lo siguiente:
- Inicia un clúster con la configuración correcta.
- Detecta todas las tablas y vistas definidas y comprueba si hay errores de análisis, como nombres de columna no válidos, dependencias que faltan y errores de sintaxis.
- Crea o actualiza las tablas y vistas con los datos más recientes disponibles.
Con una actualización de validación, puede comprobar si hay problemas en el código fuente de una canalización sin esperar a que se creen o actualicen las tablas. Esta característica es útil al desarrollar o probar canalizaciones porque le permite encontrar y corregir rápidamente errores en la canalización, como nombres incorrectos de tabla o columna.
¿Cómo se desencadenan las actualizaciones de canalización?
Use una de las siguientes opciones para iniciar las actualizaciones de canalización:
Desencadenador de actualización | Detalles |
---|---|
Manual | Puede desencadenar manualmente las actualizaciones de canalización desde la interfaz de usuario de canalización, la lista de canalizaciones o un cuaderno asociado a una canalización. Consulta Desencadenamiento manual de una actualización de canalización y Desarrollo y depuración de canalizaciones de Delta Live Tables en cuadernos. |
Programado | Puedes programar actualizaciones para canalizaciones mediante trabajos. Consulte Tarea de canalizaciones de Delta Live Tables para trabajos. |
Mediante programación | Puede desencadenar actualizaciones mediante programación mediante herramientas, API y CLIs de terceros. Consulta Ejecución de una canalización de Delta Live Tables en un flujo de trabajo y API de canalización. |
Desencadenamiento manual de una actualización de canalización
Use una de las siguientes opciones para desencadenar manualmente una actualización de canalización:
- Haga clic en el botón
en la página de detalles de la canalización.
- En la lista de canalizaciones, haga clic en
en la columna Acciones.
Nota:
El comportamiento predeterminado de las actualizaciones de canalización desencadenadas manualmente es actualizar todos los conjuntos de datos definidos en la canalización.
Semántica de actualización de la canalización
En la tabla siguiente se describen los comportamientos de las vistas materializadas y las tablas de streaming para la actualización predeterminada y la actualización completa:
Tipo de actualización | Semántica de vistas materializadas | Semántica de tablas de streaming |
---|---|---|
Actualizar (valor predeterminado) | Actualiza los resultados para reflejar los resultados actuales de la consulta de definición. | Procesa registros nuevos a través de la lógica definida en tablas y flujos de streaming. |
Actualización completa | Actualiza los resultados para reflejar los resultados actuales de la consulta de definición. | Borra los datos de las tablas de streaming, borra la información de estado (puntos de control) de los flujos y vuelve a procesar todos los registros del origen de datos. |
De manera predeterminada, todas las vistas materializadas y las tablas de streaming en una canalización se actualizan con cada actualización. Opcionalmente, puede omitir las tablas de las actualizaciones mediante las siguientes características:
- Seleccionar tablas para actualizar: use esta interfaz de usuario para agregar o quitar vistas materializadas y tablas de streaming antes de ejecutar una actualización. Consulta Inicio de una actualización de canalización para tablas seleccionadas.
- Actualizar tablas fallidas: empieza una actualización de vistas materializadas y tablas de streaming con errores, incluidas las dependencias posteriores. Consulta Inicio de una actualización de canalización para tablas con errores.
Ambas características admiten la semántica de actualización predeterminada o la actualización completa. Opcionalmente, puede usar el cuadro de diálogo Seleccionar tablas para actualizar para excluir tablas adicionales al ejecutar una actualización para las tablas con errores.
¿Debo usar una actualización completa?
Databricks recomienda ejecutar actualizaciones completas solo cuando sea necesario. Una actualización completa siempre vuelve a procesar todos los registros de los orígenes de datos especificados a través de la lógica que define el conjunto de datos. El tiempo y los recursos para completar una actualización completa se correlacionan con el tamaño de los datos de origen.
Las vistas materializadas devuelven los mismos resultados si se usa la actualización predeterminada o completa. El uso de una actualización completa con tablas de streaming restablece todo el procesamiento de estado y la información del punto de control y puede dar lugar a registros eliminados si los datos de entrada ya no están disponibles.
Databricks solo recomienda una actualización completa cuando los orígenes de datos de entrada contienen los datos necesarios para volver a crear el estado deseado de la tabla o vista. Tenga en cuenta los siguientes escenarios en los que los datos de origen de entrada ya no están disponibles y el resultado de ejecutar una actualización completa:
Origen de datos | Motivo por el que los datos de entrada no están presentes | Resultado de la actualización completa |
---|---|---|
Kafka | Umbral de retención corto | Los registros que ya no están presentes en el origen de Kafka se quitan de la tabla de destino. |
Archivos en el almacenamiento de objetos | Directiva de ciclo de vida | Los archivos de datos que ya no están presentes en el directorio de origen se quitan de la tabla de destino. |
Registros de una tabla | Eliminado para cumplir con la normativa | Solo se procesan los registros presentes en la tabla de origen. |
Para evitar que las actualizaciones completas se ejecuten en una tabla o vista, establezca la propiedad table pipelines.reset.allowed
en false
. Consulta Propiedades de la tabla Delta Live Tables. También puedes usar un flujo de anexo para anexar datos a una tabla de streaming existente sin necesidad de realizar una actualización completa.
Inicio de una actualización de canalización para tablas seleccionadas
Opcionalmente, puede volver a procesar datos para solo tablas seleccionadas en la canalización. Por ejemplo, durante el desarrollo, solo se cambia una tabla y se quiere reducir el tiempo de prueba, o se produce un error en una actualización de canalización y solo desea actualizar las tablas con errores.
Nota:
Puede usar la actualización selectiva solo con canalizaciones desencadenadas.
Para iniciar una actualización que actualice solo las tablas seleccionadas, en la página Detalles de canalización:
Haga clic en Seleccionar tablas para actualizar. El cuadro de diálogo Seleccionar tablas para actualizar aparecerá.
Si no ve el botón Seleccionar tablas para actualizar , confirme que la página Detalles de la canalización muestra la actualización más reciente y que la actualización está completa. Si no se muestra un DAG para la actualización más reciente, por ejemplo, porque se produjo un error en la actualización, no se muestra el botón Seleccionar tablas para actualizar .
Para seleccionar las tablas que desea actualizar, haga clic en cada tabla. Las tablas seleccionadas se resaltan y se etiquetan. Para quitar una tabla de la actualización, vuelva a hacer clic en la tabla.
Haga clic en Actualizar selección.
Nota:
El botón Actualizar selección muestra el número de tablas seleccionadas entre paréntesis.
Para volver a procesar los datos ya ingeridos para las tablas seleccionadas, haga clic junto al botón Actualizar selección y haga clic en Selección de actualización completa.
Inicio de una actualización de canalización para tablas con errores
Si se produce un error en una actualización de canalización debido a errores en una o varias tablas del grafo de canalización, puede iniciar una actualización solo de las tablas con errores y las dependencias de bajada.
Nota:
Las tablas excluidas no se actualizan, aunque dependan de una tabla con errores.
Para actualizar las tablas con errores, en la página Detalles de canalización, haga clic en Actualizar tablas con errores.
Para actualizar solo las tablas con errores seleccionadas:
Haga clic en el
jusno al botón Actualizar tablas con errores y haga clic en Seleccionar tablas para actualizar. El cuadro de diálogo Seleccionar tablas para actualizar aparecerá.
Para seleccionar las tablas que desea actualizar, haga clic en cada tabla. Las tablas seleccionadas se resaltan y se etiquetan. Para quitar una tabla de la actualización, vuelva a hacer clic en la tabla.
Haga clic en Actualizar selección.
Nota:
El botón Actualizar selección muestra el número de tablas seleccionadas entre paréntesis.
Para volver a procesar los datos ya ingeridos para las tablas seleccionadas, haga clic junto al botón Actualizar selección y haga clic en Selección de actualización completa.
Comprobación de errores de un pipeline sin esperar a que las tablas se actualicen
Importante
La característica de actualización de Delta Live Tables Validate
está en Versión preliminar pública.
Para comprobar si el código fuente de una canalización es válido sin ejecutar una actualización completa, use Validar. Una actualización de Validate
resuelve las definiciones de conjuntos de datos y flujos definidos en la canalización, pero no materializa ni publica ningún conjunto de datos. Los errores encontrados durante la validación, como nombres de tabla o columna incorrectos, se notifican en la interfaz de usuario.
Para ejecutar una Validate
actualización, haga clic en la página de detalles de la canalización junto a Inicio y haga clic en Validar.
Una vez completada la Validate
actualización, el registro de eventos muestra los eventos relacionados solo con la Validate
actualización y no se muestran métricas en el DAG. Si se encuentran errores, los detalles están disponibles en el registro de eventos.
Puede ver los resultados solo para la actualización de Validate
más reciente. Si la actualización de Validate
fue la actualización de ejecución más reciente, puede ver los resultados seleccionándola en el historial de actualizaciones. Si se ejecuta otra actualización después de la actualización de Validate
, los resultados ya no están disponibles en la interfaz de usuario.
Modos de desarrollo y producción
Para optimizar la ejecución de la canalización, cambie entre los modos de desarrollo y producción. Use los botones de la interfaz de usuario de Pipelines para cambiar entre los dos modos. De manera predeterminada, las canalizaciones se ejecutan en el modo de desarrollo.
Si ejecuta la canalización en el modo de desarrollo, el sistema Delta Live Tables hace lo siguiente:
- Reutiliza un clúster para evitar la sobrecarga de los reinicios. De forma predeterminada, los clústeres se ejecutan durante dos horas cuando se habilita el modo de desarrollo. Puede cambiarlo con la
pipelines.clusterShutdown.delay
configuración de la canalización Configurar proceso para una canalización de Delta Live Tables. - Deshabilita los reintentos de la canalización para que pueda detectar y corregir errores inmediatamente.
En el modo de producción, el sistema Delta Live Tables hace lo siguiente:
- Reinicia el clúster con errores recuperables específicos, incluidas fugas de memoria y credenciales obsoletas.
- Reintenta la ejecución en caso de errores específicos, como un error al iniciar un clúster.
Nota:
El cambio entre los modos de desarrollo y producción solo controla el comportamiento de ejecución de los clústeres y las canalizaciones. Las ubicaciones de almacenamiento y los esquemas de destino del catálogo para las tablas de publicación deben configurarse como parte de la configuración de canalización y no se ven afectados al cambiar entre modos.