Exécuter une mise à jour sur un pipeline Delta Live Tables

Cet article explique les mises à jour de pipeline et fournit des détails sur la façon de déclencher une mise à jour.

Qu’est-ce qu’une mise à jour de pipeline ?

Une fois que vous avez créé un pipeline et que vous êtes prêt à l’exécuter, vous démarrez une mise à jour. Une mise à jour de pipeline effectue les opérations suivantes :

  • démarre un cluster avec la bonne configuration ;
  • Découvre toutes les tables et vues définies et vérifie toutes les erreurs d’analyse telles que les noms de colonnes non valides, les dépendances manquantes et les erreurs de syntaxe.
  • crée ou met à jour les tables et vues avec les données disponibles les plus récentes.

À l’aide d’une mise à jour de validation, vous pouvez rechercher des problèmes dans le code source d’un pipeline sans attendre la création ou la mise à jour des tables. Cette fonctionnalité est utile lors du développement ou du test de pipelines, car elle vous permet de rechercher et de corriger rapidement des erreurs dans votre pipeline, telles que des noms de table ou de colonnes incorrects.

Comment les mises à jour de pipeline sont-elles déclenchées ?

Utilisez l’une des options suivantes pour démarrer les mises à jour du pipeline :

Déclencheur de mise à jour Détails
Manuel Vous pouvez déclencher manuellement des mises à jour de pipeline à partir de l’interface utilisateur du pipeline, de la liste des pipelines ou d’un notebook attaché à un pipeline. Consultez Déclencher manuellement une mise à jour de pipeline et Développer et déboguer des pipelines Delta Live Tables dans les notebooks.
Planifié Vous pouvez planifier des mises à jour pour les pipelines à l’aide de tâches. Consultez Tâche du pipeline Delta Live Tables pour les projets.
Programmatique Vous pouvez déclencher des mises à jour par programmation à l'aide d'outils tiers, d'API et de CLI. Consultez Exécuter un pipeline Delta Live Tables dans un flux de travail et API de pipeline.

Déclencher manuellement une mise à jour du pipeline

Utilisez l’une des options suivantes pour déclencher manuellement une mise à jour de pipeline :

  • Cliquez sur le bouton Icône de démarrage Delta Live Tables sur la page des détails du pipeline.
  • Dans la liste des pipelines, cliquez sur l’icône de flèche à droite dans la colonne Actions.

Remarque

Le comportement par défaut des mises à jour de pipeline déclenchées manuellement consiste à actualiser tous les jeux de données définis dans le pipeline.

Sémantique d’actualisation du pipeline

Le tableau suivant décrit les comportements des vues matérialisées et des tables de diffusion en continu pour l’actualisation par défaut et l’actualisation complète :

Type de mise à jour Sémantique de vue matérialisée Sémantique de table de diffusion en continu
Actualiser (par défaut) Met à jour les résultats pour refléter les résultats actuels de la requête de définition. Traite de nouveaux enregistrements par le biais de la logique définie dans les tables et flux de streaming.
Actualisation complète Met à jour les résultats pour refléter les résultats actuels de la requête de définition. Efface les données des tables de diffusion en continu, efface les informations d’état (points de contrôle) des flux et retraite tous les enregistrements de la source de données.

Par défaut, toutes les vues matérialisées et les tables de streaming dans un pipeline sont actualisées avec chaque mise à jour. Vous pouvez éventuellement omettre les tables des mises à jour à l’aide des fonctionnalités suivantes :

Ces deux fonctionnalités prennent en charge la sémantique d’actualisation par défaut ou l’actualisation complète. Vous pouvez éventuellement utiliser la boîte de dialogue Sélectionner des tables pour actualiser pour exclure des tables supplémentaires lors de l’exécution d’une actualisation pour les tables ayant échoué.

Dois-je utiliser une actualisation complète ?

Databricks recommande d’exécuter des actualisations complètes uniquement si nécessaire. Une actualisation complète retraite toujours tous les enregistrements des sources de données spécifiées via la logique qui définit le jeu de données. Le temps et les ressources pour effectuer une actualisation complète sont corrélées à la taille des données sources.

Les vues matérialisées retournent les mêmes résultats que l’actualisation par défaut ou complète est utilisée. L’utilisation d’une actualisation complète avec des tables en flux réinitialise toutes les informations de traitement des états et de point de contrôle et peut entraîner la perte d’enregistrements si les données sources ne sont plus disponibles.

Databricks recommande uniquement l’actualisation complète lorsque les sources de données d’entrée contiennent les données nécessaires pour recréer l’état souhaité de la table ou de la vue. Tenez compte des scénarios suivants dans lesquels les données de source d’entrée ne sont plus disponibles et le résultat de l’exécution d’une actualisation complète :

Source de données Raison pour laquelle les données d’entrée sont absentes Résultat de l’actualisation complète
Kafka Seuil de rétention court Les enregistrements qui ne sont plus présents dans la source Kafka sont supprimés de la table cible.
Fichiers dans le stockage d’objets Politique de cycle de vie Les fichiers de données qui ne sont plus présents dans le répertoire source sont supprimés de la table cible.
Enregistrements dans une table Supprimé pour la conformité Seuls les enregistrements présents dans la table source sont traités.

Pour empêcher l’exécution complète des actualisations sur une table ou une vue, définissez la propriété de table pipelines.reset.allowed sur false. Consultez les propriétés de la table Delta Live Tables . Vous pouvez également utiliser un flux d’ajout pour ajouter des données à une table de streaming existante sans nécessiter d’actualisation complète.

Démarrer une mise à jour de pipeline pour les tables sélectionnées

Vous pouvez éventuellement retraiter des données pour les tables sélectionnées uniquement dans votre pipeline. Par exemple, lors du développement, vous ne changez qu’une seule table et souhaitez réduire la durée des tests, ou une mise à jour de pipeline échoue et vous voulez actualiser uniquement les tables ayant échoué.

Remarque

Vous pouvez utiliser l’actualisation sélective uniquement avec les pipelines déclenchés.

Pour démarrer une mise à jour qui actualise uniquement les tables sélectionnées, dans la page Détails du pipeline :

  1. Cliquez sur Sélectionner les tables à actualiser. La boîte de dialogue Sélectionner les tables à actualiser s’affiche.

    Si vous ne voyez pas le bouton Sélectionner des tables pour l’actualisation, vérifiez que la page détails du pipeline affiche la dernière mise à jour et que la mise à jour est terminée. Si un DAG n’est pas affiché pour la dernière mise à jour, par exemple, car la mise à jour a échoué, le bouton Sélectionner des tables pour l’actualisation n’est pas affiché.

  2. Pour sélectionner les tables à actualiser, cliquez sur chaque table. Les tables sélectionnées sont mises en évidence et étiquetées. Pour supprimer une table de la mise à jour, cliquez à nouveau sur la table.

  3. Cliquez sur Actualiser la sélection.

    Remarque

    Le bouton Actualiser la sélection affiche le nombre de tables sélectionnées entre parenthèses.

Pour retraiter les données déjà ingérées pour les tables sélectionnées, cliquez accent circonflexe inversé bleu en regard du bouton Actualiser la sélection, puis cliquez sur Sélection d’actualisation complète.

Démarrer une mise à jour de pipeline pour les tables en échec

Si une mise à jour de pipeline échoue en raison d’erreurs dans une ou plusieurs tables du graphique du pipeline, vous pouvez démarrer une mise à jour uniquement des tables en échec et de toutes les dépendances en aval.

Remarque

Les tables exclues ne sont pas actualisées, même si elles dépendent d’une table en échec.

Pour mettre à jour les tables en échec, dans la page Détails du pipeline, cliquez sur Actualiser les tables en échec.

Pour mettre à jour uniquement les tables en échec sélectionnées :

  1. Cliquez sur Bouton vers le bas à côté du bouton Actualiser les tables en échec et cliquez sur Sélectionner les tables à actualiser. La boîte de dialogue Sélectionner les tables à actualiser s’affiche.

  2. Pour sélectionner les tables à actualiser, cliquez sur chaque table. Les tables sélectionnées sont mises en évidence et étiquetées. Pour supprimer une table de la mise à jour, cliquez à nouveau sur la table.

  3. Cliquez sur Actualiser la sélection.

    Remarque

    Le bouton Actualiser la sélection affiche le nombre de tables sélectionnées entre parenthèses.

Pour retraiter les données déjà ingérées pour les tables sélectionnées, cliquez accent circonflexe inversé bleu en regard du bouton Actualiser la sélection, puis cliquez sur Sélection d’actualisation complète.

Rechercher des problèmes dans un pipeline sans la mise à jour de tables

Important

La fonctionnalité Delta Live Tables Validate mise à jour se trouve dans Préversion publique.

Pour vérifier si le code source d’un pipeline est valide sans exécuter une mise à jour complète, utilisez Valider. Une mise à jour Validate résout les définitions des jeux de données et des flux définis dans le pipeline, mais ne matérialise ni ne publie aucun jeu de données. Les erreurs détectées lors de la validation, telles que des noms de table ou de colonne incorrects, sont signalées dans l’interface utilisateur.

Pour exécuter une Validate mise à jour, cliquez Chevron bleu vers le bas sur la page de détails du pipeline en regard de Démarrer , puis cliquez sur Valider.

Une fois la Validate mise à jour terminée, le journal des événements affiche uniquement les événements liés à la Validate mise à jour et aucune métrique n’est affichée dans le DAG. Si des erreurs sont détectées, les détails sont disponibles dans le journal des événements.

Vous ne pouvez voir les résultats que pour la mise à jour Validate la plus récente. Si la mise à jour Validate était la dernière mise à jour exécutée, vous pouvez voir les résultats en le sélectionnant dans l’historique des mises à jour. Si une autre mise à jour est exécutée après la mise à jour Validate, les résultats ne sont plus disponibles dans l’interface utilisateur.

Modes de développement et de production

Vous pouvez optimiser l’exécution du pipeline en basculant entre les modes développement et production. Utilisez les boutons de l’Icône de basculement de l’environnement Delta Live Tables dans l’interface utilisateur du Pipelines pour basculer entre ces deux modes. Par défaut, les pipelines s’exécutent en mode développement.

Lorsque vous exécutez votre pipeline en mode développement, le système Delta Live Tables effectue les opérations suivantes :

  • réutilise un cluster pour éviter les surcharges liées aux redémarrages ; Par défaut, les clusters s’exécutent pendant deux heures lorsque le mode de développement est activé. Vous pouvez le modifier avec le pipelines.clusterShutdown.delay paramètre dans le calcul Configurer pour un pipeline Delta Live Tables.
  • désactive les nouvelles tentatives de pipeline pour vous permettre de détecter et de corriger immédiatement les erreurs.

En mode de production, le système Delta Live Tables effectue les opérations suivantes :

  • redémarre le cluster en cas d’erreurs récupérables spécifiques, notamment les fuites de mémoire et les informations d’identification obsolètes ;
  • Réessayez l’exécution en cas d’erreurs spécifiques, telles qu’un échec de démarrage d’un cluster.

Remarque

Le basculement entre les modes développement et production contrôle uniquement le comportement d’exécution des clusters et des pipelines. Les emplacements de stockage et les schémas cibles dans le catalogue pour la publication des tables doivent être configurés dans le cadre des paramètres de pipeline, et ne sont pas affectés lors du basculement d’un mode à l’autre.