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

Cet article explique ce qu’est une mise à jour du pipeline Delta Live Tables et comment l’exécuter.

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 les éventuelles 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.

Vous pouvez rechercher des problèmes dans un code source de pipeline sans attendre la création ou la mise à jour de tables en utilisant une Mise à jour de validation. La fonctionnalité Validate est utile lors du développement ou de tests de pipelines en vous permettant de rechercher et de corriger rapidement des erreurs dans votre pipeline, telles que des noms de table ou de colonnes incorrects.

Pour savoir comment créer un pipeline, consultez le Tutoriel : exécuter votre premier pipeline Delta Live Tables.

Démarrer une mise à jour de pipeline

Azure Databricks fournit plusieurs options pour démarrer les mises à jour de pipeline, notamment les suivantes :

  • Dans l’interface utilisateur Delta Live Tables, vous disposez des options suivantes :
    • 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.
  • Pour démarrer une mise à jour dans un notebook, cliquez sur Delta Live Tables > Démarrer dans la barre d’outils du notebook. Voir Ouvrir ou exécuter un pipeline Delta Live Tables depuis un notebook.
  • Vous pouvez déclencher des pipelines par programmation à l’aide de l’API ou de l’interface CLI. Consultez le Guide de l’API Delta Live Tables.
  • Vous pouvez planifier le pipeline en tant que travail à l’aide de l’interface utilisateur Delta Live Tables ou de l’interface utilisateur des travaux. Consultez Planifier un pipeline.

Mise à jour des tables et des vues Delta Live Tables

Les tables et vues mises à jour et la façon dont ces tables sont mises à jour dépendent du type de mise à jour :

  • Actualiser tout : toutes les tables actives sont mises à jour pour refléter l’état actuel de leurs sources de données d’entrée. Pour toutes les tables de diffusion en continu, de nouvelles lignes sont ajoutées à la table.
  • Actualiser tout entièrement : toutes les tables actives sont mises à jour pour refléter l’état actuel de leurs sources de données d’entrée. Pour toutes les tables de diffusion en continu, Delta Live Tables tente d’effacer toutes les données de chaque table, puis de charger toutes les données de la source de diffusion en continu.
  • Actualiser la sélection : le comportement de refresh selection est identique à refresh all, mais vous permet d’actualiser uniquement les tables sélectionnées. Les tables actives sélectionnés sont mises à jour pour refléter l’état actuel de leurs sources de données d’entrée. Pour les tables de diffusion en continu sélectionnées, de nouvelles lignes sont ajoutées à la table.
  • Actualiser la sélection complètement : le comportement de full refresh selection est identique à full refresh all, mais vous permet d’actualiser complètement uniquement les tables sélectionnées. Les tables actives sélectionnés sont mises à jour pour refléter l’état actuel de leurs sources de données d’entrée. Pour les tables de diffusion en continu sélectionnées, Delta Live Tables tente d’effacer toutes les données de chaque table, puis de charger toutes les données à partir de la source de diffusion en continu.

Pour les tables dynamiques existantes, une mise à jour a le même comportement qu’un SQL REFRESH sur une vue matérialisée. Pour les nouvelles tables actives, le comportement est identique à une opération CREATE SQL.

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

Vous souhaiterez peut-être retraiter les données uniquement pour les tables sélectionnées 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é.

Notes

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 les tables à actualiser, vérifiez que la page Détails du pipeline affiche la mise à jour la plus récente et que la mise à jour est terminée. Si un DAG n’est pas affiché pour la mise à jour la plus récente, par exemple, en raison de l’échec de la mise à jour, le bouton Sélectionner les tables à actualiser n’apparaît pas.

  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.

    Notes

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

Pour retraiter les données qui ont déjà été ingérées pour les tables sélectionnées, cliquez sur l’accent circonflexe inversé bleu à côté du bouton Actualiser la sélection et cliquez sur Actualisation complète de la sélection.

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.

Notes

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.

    Notes

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

Pour retraiter les données qui ont déjà été ingérées pour les tables sélectionnées, cliquez sur l’accent circonflexe inversé bleu à côté du bouton Actualiser la sélection et cliquez sur Actualisation complète de la sélection.

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 mise à jour Validate, dans la page des détails du pipeline, cliquez sur Chevron bleu vers le bas en regard de Démarrer, puis cliquez sur Valider.

Une fois la mise à jour Validate terminée, le journal des événements affiche uniquement les événements liés à la mise à jour Validate 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.

Exécution continue par rapport à l’exécution de pipeline déclenchée

Si le pipeline utilise le mode d’exécutiondéclenché, le système cesse de traiter après avoir actualisé toutes les tables ou tables sélectionnées dans le pipeline une fois, en veillant à ce que chaque table qui fait partie de la mise à jour soit mise à jour en fonction des données disponibles lors du démarrage de la mise à jour.

Si le pipeline utilise l’exécution continue, Delta Live Tables traite les nouvelles données lorsqu’elles arrivent dans des sources de données pour conserver les tables tout au long du pipeline.

Le mode d’exécution est indépendant du type de table qui est calculé. Les vues matérialisées et les tables de diffusion en continu peuvent être mises à jour en mode d’exécution. Pour éviter tout traitement inutile en mode d’exécution continue, les pipelines surveillent automatiquement les tables Delta dépendantes et effectuent une mise à jour uniquement lorsque le contenu de ces tables dépendantes a changé.

Remarque

Le runtime Delta Live Tables n’est pas en mesure de détecter les modifications dans les sources de données non Delta. La table est toujours mise à jour régulièrement, mais avec un intervalle de déclenchement par défaut plus élevé afin d’éviter qu’un recalcul excessif ne ralentisse tout traitement incrémental se déroulant sur le cluster.

Tableau comparant les modes d’exécution du pipeline de données

Le tableau suivant met en évidence les différences entre ces modes d’exécution :

Déclenchée Continue
Quand la mise à jour s’arrête-t-elle ? Une fois terminé automatiquement. S’exécute en continu jusqu’à ce qu’il soit arrêté manuellement.
Quelles données sont traitées ? Données disponibles au démarrage de la mise à jour. Toutes les données à mesure qu’elles arrivent à des sources configurées.
Quelles sont les exigences de fraîcheur des données qui conviennent le mieux ? Les mises à jour de données s’exécutent toutes les 10 minutes, toutes les heures ou tous les jours. Les mises à jour de données souhaitées entre 10 secondes et quelques minutes.

Les pipelines déclenchés peuvent réduire la consommation de ressources et les dépenses dans la mesure où le cluster ne fonctionne que le temps d’exécuter le pipeline. Toutefois, les nouvelles données ne seront pas traitées tant que le pipeline ne sera pas déclenché. Les pipelines continus nécessitent un cluster fonctionnant en permanence, ce qui est plus onéreux, mais réduit la latence de traitement.

Vous pouvez configurer le mode d’exécution avec l’option mode pipeline dans les paramètres.

Comment choisir des limites de pipeline

Un pipeline Delta Live Tables peut traiter les mises à jour vers une table unique, de nombreuses tables avec une relation de dépendance, de nombreuses tables sans relation ou plusieurs flux indépendants de tables avec des relations de dépendances. Cette section contient des considérations pour vous aider à déterminer comment décomposer vos pipelines.

Les pipelines Delta Live Tables plus volumineux présentent un certain nombre d’avantages. Ces options en question sont les suivantes :

  • Utiliser plus efficacement les ressources de cluster.
  • Réduire le nombre de pipelines dans votre espace de travail.
  • Réduire la complexité de l’orchestration des workflows.

Voici quelques recommandations courantes sur la façon dont les pipelines de traitement doivent être divisés :

  • Fractionner les fonctionnalités aux limites de l’équipe. Par exemple, votre équipe de données peut gérer des pipelines pour transformer les données, tandis que vos analystes de données gèrent des pipelines qui analysent les données transformées.
  • Fractionner les fonctionnalités aux limites spécifiques de l’application pour réduire le couplage et faciliter la réutilisation des fonctionnalités courantes.

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 paramètre de pipelines.clusterShutdown.delay dans Configurer vos paramètres de calcul.
  • 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 ;
  • effectue une nouvelle tentative d’exécution en cas d’erreurs spécifiques, par exemple l’échec du démarrage d’un cluster.

Notes

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.

Planifier un pipeline

Vous pouvez démarrer manuellement un pipeline déclenché ou exécuter le pipeline selon une planification avec un travail Azure Databricks. Vous pouvez créer et planifier un travail avec une seule tâche de pipeline directement dans l’interface utilisateur Delta Live Tables ou ajouter une tâche de pipeline à un flux de travail à tâches multiples dans l’interface utilisateur des tâches.

Pour créer un travail à tâche unique et une planification pour le travail dans l’interface utilisateur Delta Live Tables :

  1. Cliquez sur Planifier > Ajouter une planification. Le bouton Planifier est mis à jour pour afficher le nombre de planifications existantes si le pipeline est inclus dans un ou plusieurs travaux planifiés, par exemple, Planification (5).
  2. Entrez un nom pour le travail dans le champ Nom du travail.
  3. Définissez la Planification sur Planifiée.
  4. Indiquez la période, l’heure de début et le fuseau horaire.
  5. Configurez une ou plusieurs adresses e-mail pour recevoir des alertes en cas de démarrage, de réussite ou d’échec du pipeline.
  6. Cliquez sur Créer.