Ejecución de una actualización en una canalización de Delta Live Tables

En este artículo se explica qué es una actualización de canalización de Delta Live Tables y cómo ejecutar una.

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.

Puede comprobar si hay problemas en el código fuente de una canalización sin esperar a que se creen o actualicen tablas mediante una verificación de actualización. La característica Validate es útil al desarrollar o probar canalizaciones, ya que permite buscar y corregir rápidamente errores en la canalización, como nombres de tabla o columna incorrectos.

Para obtener información sobre cómo crear una canalización, consulte Tutorial: Ejecutar la primera canalización de Delta Live Tables.

Inicio de la actualización de una canalización

Azure Databricks proporciona varias opciones para iniciar las actualizaciones de canalización, incluidas las siguientes:

  • En la interfaz de usuario de Delta Live Tables, tiene las siguientes opciones:
    • Haga clic en el botón Delta Live Tables Icon en la página de detalles de la canalización.
    • En la lista de canalizaciones, haga clic en Icono de la flecha derecha en la columna Acciones.
  • Para iniciar una actualización en un cuaderno, haga clic en Delta Live Tables > Inicio en la barra de herramientas del cuaderno. Consulte Abrir o ejecutar una canalización de Delta Live Tables desde un cuaderno.
  • Puede desencadenar canalizaciones mediante programación mediante la API o la CLI. Consulte la Guía de Delta Live Tables de API.
  • Puede programar la canalización como un trabajo mediante la interfaz de usuario de Delta Live Tables o la interfaz de usuario de trabajos. Consulte Programación de una canalización.

Cómo Delta Live Tables actualiza las tablas y vistas

Las tablas y vistas actualizadas y cómo se actualizan esas tablas y vistas depende del tipo de actualización:

  • Actualizar todo: todas las tablas en directo se actualizan para reflejar el estado actual de sus orígenes de datos de entrada. Para todas las tablas de streaming, se anexan nuevas filas a la tabla.
  • Actualización completa: todas las tablas en directo se actualizan para reflejar el estado actual de sus orígenes de datos de entrada. Para todas las tablas de streaming, Delta Live Tables intenta borrar todos los datos de cada tabla y, a continuación, cargar todos los datos del origen de streaming.
  • Selección de actualización: el comportamiento de refresh selection es idéntico a refresh all, pero permite actualizar solo las tablas seleccionadas. Las tablas en directo seleccionadas se actualizan para reflejar el estado actual de sus orígenes de datos de entrada. Para las tablas de streaming seleccionadas, se anexan nuevas filas a la tabla.
  • Selección de actualización completa: el comportamiento de full refresh selection es idéntico a full refresh all, pero permite realizar una actualización completa solo de las tablas seleccionadas. Las tablas en directo seleccionadas se actualizan para reflejar el estado actual de sus orígenes de datos de entrada. Para las tablas de streaming seleccionadas, Delta Live Tables intenta borrar todos los datos de cada tabla y, a continuación, cargar todos los datos del origen de streaming.

En el caso de las tablas en directo existentes, una actualización tiene el mismo comportamiento que un REFRESH SQL en una vista materializada. En el caso de las nuevas tablas en directo, el comportamiento es el mismo que una operación CREATE de SQL.

Inicio de una actualización de canalización para tablas seleccionadas

Es posible que desee volver a procesar los datos solo de las 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:

  1. 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, asegúrese de que la página Detalles de canalización muestra la actualización más reciente y que esta está completa. Si no se muestra un grafo acíclico dirigido de la actualización más reciente, por ejemplo, porque se produjo un error en ella, el botón Seleccionar tablas para actualizar no aparece.

  2. Para seleccionar las tablas que desea actualizar, haga clic en cada una de ellas. Las tablas seleccionadas se resaltan y se etiquetan. Para quitar una tabla de la actualización, vuelva a hacer clic en ella.

  3. 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 que ya se han ingerido para las tablas seleccionadas, haga clic en la flecha azul hacia abajo 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:

  1. Haga clic en el botón de flecha hacia abajo 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á.

  2. Para seleccionar las tablas que desea actualizar, haga clic en cada una de ellas. Las tablas seleccionadas se resaltan y se etiquetan. Para quitar una tabla de la actualización, vuelva a hacer clic en ella.

  3. 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 que ya se han ingerido para las tablas seleccionadas, haga clic en la flecha azul hacia abajo 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 actualización de Validate, en la página de detalles de la canalización, haga clic en Blue Down Caret junto a Inicio y haga clic en Validar.

Una vez completada la actualización de Validate, el registro de eventos muestra los eventos relacionados solo con la actualización de Validate 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.

Ejecución de canalización continua frente a desencadenada

Si la canalización usa el modo de ejecución desencadenada, el sistema detiene el procesamiento después de actualizar correctamente todas las tablas o tablas seleccionadas de la canalización una vez, asegurándose de que cada tabla que forma parte de la actualización se actualiza en función de los datos disponibles cuando se inicia la actualización.

Si la canalización usa la ejecución continua, Delta Live Tables procesa nuevos datos a medida que llega a los orígenes de datos para mantener las tablas en toda la canalización actualizadas.

El modo de ejecución es independiente del tipo de tabla que se está calculando. Tanto las vistas materializadas como las tablas de streaming se pueden actualizar en cualquier modo de ejecución. Para evitar el procesamiento innecesario en modo de ejecución continua, las canalizaciones supervisan automáticamente las tablas Delta dependientes y realizan una actualización solo cuando el contenido de esas tablas dependientes ha cambiado.

Nota:

El entorno de ejecución de Delta Live Tables no puede detectar cambios en orígenes de datos que no tengan el formato Delta. La tabla se sigue actualizando con regularidad, pero con un intervalo de desencadenador predeterminado mayor, para evitar que un recálculo excesivo ralentice cualquier procesamiento incremental que se produzca en el clúster.

Tabla que compara los modos de ejecución de canalización de datos

En la tabla siguiente se resaltan las diferencias entre estos modos de ejecución:

Desencadenado Continuo
¿Cuándo se detiene la actualización? Automáticamente una vez completada. Se ejecuta continuamente hasta que se detiene manualmente.
¿Qué datos se procesan? Datos disponibles cuando se inicia la actualización. Todos los datos a medida que llegan a los orígenes configurados.
¿Para qué requisitos de actualización de datos es mejor? Las actualizaciones de datos se ejecutan cada 10 minutos, cada hora o diariamente. Las actualizaciones de datos deseadas entre cada 10 segundos y unos minutos.

Las canalizaciones desencadenadas pueden reducir el consumo de recursos y los gastos, ya que el clúster solo se ejecuta el tiempo suficiente para ejecutar la canalización. Sin embargo, los nuevos datos no se procesarán hasta que se desencadene la canalización. Las canalizaciones continuas requieren un clúster en constante ejecución, que es más costoso, pero reduce la latencia de procesamiento.

Puede configurar el modo de ejecución con la opción Modo de canalización en la configuración.

Elección de límites de canalización

Una canalización Delta Live Tables puede procesar actualizaciones en una sola tabla, muchas tablas con relación dependiente, muchas tablas sin relaciones o varios flujos independientes de tablas con relaciones dependientes. Esta sección contiene consideraciones para ayudar a determinar cómo dividir las canalizaciones.

Las canalizaciones de Delta Live Tables más grandes tienen una serie de ventajas. Entre ellas, figuran:

  • Usar los recursos de clúster de forma más eficaz.
  • Reducir el número de canalizaciones del área de trabajo.
  • Reducir la complejidad de la orquestación de flujos de trabajo.

Entre algunas recomendaciones comunes sobre cómo se deben dividir las canalizaciones de procesamiento se incluyen las siguientes:

  • Dividir la funcionalidad según los límites de los equipos. Por ejemplo, el equipo de datos puede mantener canalizaciones para transformar datos mientras que los analistas de datos mantienen canalizaciones que analizan los datos transformados.
  • Divida la funcionalidad por límites específicos de aplicación para reducir el acoplamiento y facilitar la reutilización de las funcionalidades comunes.

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 Icono del botón de alternancia del entorno de Delta Live Tables 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 en la configuración de pipelines.clusterShutdown.delay en la opción Establecer configuración de proceso.
  • 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.
  • Vuelve a intentar la ejecución en caso de errores específicos, por ejemplo, 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.

Programación de una canalización

Puede iniciar una canalización que se haya desencadenado manualmente o ejecutarla según una programación con un trabajo de Azure Databricks. También puede crear y programar un trabajo con una sola tarea de canalización directamente en la interfaz de usuario de Delta Live Tables o agregar una tarea de canalización a un flujo de trabajo de varias tareas en la interfaz de usuario de los trabajos.

Para crear un trabajo de una sola tarea y una programación para el trabajo en la interfaz de usuario de Delta Live Tables:

  1. Haga clic en Programar> Agregar una programación. El botón Programar se actualiza para mostrar el número de programaciones existentes si la canalización se incluye en uno o varios trabajos programados; por ejemplo, Programación (5).
  2. Escriba un nombre para el trabajo en el campo Nombre del trabajo.
  3. Establezca la Programación en Programado.
  4. Especifique el período, la hora de inicio y la zona horaria.
  5. Configure una o varias direcciones de correo electrónico para recibir alertas sobre el inicio, el éxito o el error de la canalización.
  6. Haga clic en Crear.