Aller au contenu principal

Trigger vs. mode pipeline continu

Les modes Triggered et continuous pipeline contrôlent la manière dont un pipeline traite les données : le mode Triggered refresh les données disponibles et s’arrête, tandis que le mode continu maintient les tables à jour à mesure que de nouvelles données arrivent. Pour les charges de travail nécessitant une latence de millisecondes, voir Utiliser le mode temps réel dans les Lakeflow pipelines.

Le mode de pipeline est indépendant du type de table en cours de calcul. Les vues matérialisées et les tables de streaming peuvent toutes deux être mises à jour dans l’un ou l’autre mode de pipeline.

remarque

Les opérations de refresh pour les vues matérialisées autonomes et les tables de streaming s'exécutent toujours en utilisant le mode de pipeline Trigger.

Qu'est-ce que le mode Trigger pipeline ?

Si le pipeline utilise le mode Trigger , le système s’arrête après avoir actualisé toutes les tables en fonction des données disponibles au moment où la mise à jour a start.

Qu’est-ce que le mode de pipeline continu ?

Si le pipeline utilise une exécution continue , il traite les nouvelles données au fur et à mesure qu’elles arrivent dans les sources de données afin de garder les tables du pipeline fraîches.

Pour éviter un traitement inutile en mode d’exécution continue, les pipelines surveillent automatiquement les tables Delta dépendantes et n’effectuent une mise à jour que lorsque le contenu de ces tables dépendantes a changé.

Choisir un mode de pipeline de données

Le tableau suivant met en évidence les différences entre les modes de pipeline déclenché et continu :

Questions clés

Déclenché

Continu

Quand la mise à jour s'arrête-t-elle ?

Automatiquement une fois terminé.

S'exécute en continu jusqu'à ce qu'il soit arrêté manuellement.

Quelles données sont traitées ?

Données disponibles au start de la mise à jour.

Toutes les données arrivent aux sources configurées.

Pour quelles exigences de fraîcheur des données est-ce le plus adapté ?

Les mises à jour des données sont effectuées toutes les 10 minutes, toutes les heures ou quotidiennement.

Les mises à jour des données sont souhaitées toutes les 10 secondes à quelques minutes.

Questions clés

Déclenché

Continu

Quand la mise à jour s'arrête-t-elle ?

Automatiquement une fois terminé.

S'exécute en continu jusqu'à ce qu'il soit arrêté manuellement.

Quelles données sont traitées ?

Données disponibles au start de la mise à jour.

Toutes les données arrivent aux sources configurées.

Pour quelles exigences de fraîcheur des données est-ce le plus adapté ?

Les mises à jour des données sont effectuées toutes les 10 minutes, toutes les heures ou quotidiennement.

Les mises à jour des données sont souhaitées toutes les 10 secondes à quelques minutes.

Les pipelines déclenchés peuvent réduire la consommation de Ressources et les dépenses, car le cluster ne fonctionne que le temps nécessaire à la mise à jour du pipeline. Cependant, les nouvelles données ne sont pas traitées tant que le pipeline n'est pas Trigger. Les pipelines continus nécessitent un cluster en exécution permanente, ce qui est plus coûteux mais réduit la latence de traitement.

Exécuter un pipeline continu avec un job continu

Databricks recommande d’exécuter les pipelines continus avec un Job continu plutôt que de définir la valeur de Pipeline mode sur continu. Lorsqu’un Job continu orchestre un pipeline, le Job gère le cycle de vie d’exécution du pipeline et déverrouille des modes de performance Serverless, tels que le mode Standard, que le mode continu intégré du pipeline ne prend pas en charge.

remarque

L'orchestration des jobs contrôle le mode d'exécution uniquement pour les LakeFlow Pipelines. Les vues matérialisées et les tables de streaming autonomes s'exécutent toujours en mode « Trigger », indépendamment de l'orchestration des Job.

Lorsqu'un job orchestre un pipeline, le job détermine le mode d'exécution et prévaut sur le paramètre Pipeline mode du pipeline. Un Job continu exécute son pipeline en continu même si le Pipeline mode du pipeline est défini sur Trigger, et un Job Trigger ou planifié exécute son pipeline en tant que mise à jour unique même si le Pipeline mode du pipeline est défini sur continu.

Comme le job remplace le paramètre de mode du pipeline, définissez le Pipeline mode du pipeline sur « déclenché » (default) lorsque vous l’intégrez dans un job continu. Cela permet d’éviter un comportement inattendu si le pipeline s’exécute en dehors du job.

Pour configurer un job continu pour un pipeline, consultez Exécuter un pipeline en continu avec un job continu.

Exécuter un pipeline avec le mode continu intégré

Le paramètre continu intégré du pipeline n'est pas supprimé, mais Databricks déconseille son utilisation pour les nouveaux pipelines au profit du modèle de job continu. Pour basculer entre Trigger et continu, utilisez l'option Pipeline mode dans les paramètres du pipeline lors de la création ou de la modification d'un pipeline. Voir Configurer les pipelines.

Définir l’intervalle de Trigger pour les pipelines continus

Lors de la configuration de pipelines en mode Continu, vous pouvez définir des intervalles Trigger pour contrôler la fréquence à laquelle le pipeline start une mise à jour pour chaque flux. L’intervalle de Trigger est une configuration de pipeline qui s’applique que le pipeline s’exécute en mode continu via son propre paramètre Pipeline mode ou via un job continu.

Vous pouvez utiliser pipelines.trigger.interval pour contrôler l’intervalle de Trigger d’un flux mettant à jour une table ou un pipeline entier. Comme un Trigger pipeline traite chaque table une seule fois, le pipelines.trigger.interval n'est utilisé qu'avec les pipelines continus. Databricks recommande de le définir sur des tables individuelles, car les queries de streaming et de batch ont des valeurs default différentes. Définissez la valeur sur un pipeline uniquement lorsque le traitement nécessite de contrôler les mises à jour pour l'ensemble du graphe du pipeline.

Pour les valeurs par default par type de flux et des exemples de configuration de pipelines.trigger.interval en SQL, Python et dans la configuration du pipeline, consultez Pipelines Trigger interval.