Tâche de pipeline pour les Jobs
Lakeflow Jobs offre une approche procédurale pour définir les relations entre les tâches . Les Lakeflow pipelines offrent une approche déclarative pour définir les relations entre les datasets et les Transformations . Planifiez l’exécution d’un pipeline en tant que tâche dans un Job, en utilisant l’interface utilisateur des Jobs, l’interface utilisateur des LakeFlow Pipelines ou SQL.
Une tâche de pipeline exécute son pipeline de deux manières, selon la planification du job :
- Dans un Job Trigger ou planifié, la tâche de pipeline start une mise à jour unique et s'arrête lorsque la mise à jour est terminée.
- Dans un job continu, la tâche de pipeline exécute le pipeline en continu. La planification du job détermine le mode d'exécution, de sorte que le pipeline s'exécute en continu même si son propre paramètre Pipeline mode est défini sur déclenché. Voir Exécuter un pipeline en continu avec un job continu.
Pour en savoir plus sur les pipelines déclenchés et continus, voir Mode de pipeline déclenché vs continu.
Configurez une tâche de pipeline avec l'interface utilisateur des tâches
Les LakeFlow pipelines gèrent toutes les configurations du code source et du compute dans la définition du pipeline.
Pour ajouter un pipeline à un Job, suivez les étapes suivantes :
- Créez et nommez une nouvelle tâche, puis sélectionnez pipeline pour le Type .
- Dans le menu déroulant Pipeline , sélectionnez un pipeline existant.
- Vous pouvez éventuellement Trigger une refresh complète sur le pipeline.
- Vous pouvez facultativement définir des substitutions de parameter dans le champ Parameters . See parameter.
- (Facultatif) Pour configurer les nouvelles tentatives, les threshold de durée d'exécution ou de backlog de streaming, ou les notifications, consultez Paramètres de tâches avancés.
Vous pouvez également créer un nouveau pipeline d'ingestion lors de la création d'une tâche en sélectionnant Nouveau pipeline d'ingestion dans le volet Ajouter une tâche ou la liste déroulante Type des tâches.
Pour modifier, cloner, désactiver ou supprimer cette tâche, consultez Configurer et modifier les tâches dans Lakeflow Jobs.
Exécuter un pipeline en continu avec un job continu
Lorsqu'un job continu contient une tâche de pipeline, le job exécute le pipeline en continu. Vous n'avez pas besoin de définir le mode Pipeline intégré du pipeline sur continu : la planification du job détermine le mode d'exécution et prévaut sur le paramètre mode Pipeline .
Ceci s’applique uniquement aux Lakeflow pipelines. Les vues matérialisées et les tables de streaming autonomes s’exécutent toujours en mode Trigger.
Un pipeline continu encapsulé dans un job continu peut utiliser des modes de performance serverless, tels que le mode Standard, que le mode continu intégré du pipeline ne prend pas en charge.
Databricks recommande d'exécuter les pipelines continus avec un job continu plutôt qu'avec le paramètre continu intégré du pipeline. Pour éviter tout comportement inattendu, définissez le Pipeline mode du pipeline sur déclenché (the default) lorsque vous l'encapsulez dans un Job continu. Pour plus d'informations, voir Exécuter un pipeline continu avec un job continu.
Vous pouvez créer le job continu dans l’interface utilisateur des Jobs, directement depuis la page du pipeline ou avec des Declarative Automation Bundles. Consultez Planifier un pipeline avec l’interface utilisateur du pipeline et Définir un job de pipeline continu dans des Declarative Automation Bundles.
Définir un job de pipeline continu dans des Declarative Automation Bundles
L’exemple suivant de Declarative Automation Bundles définit un job continu qui exécute un pipeline en tant que tâche. Le réglage de continuous.pause_status sur UNPAUSED exécute le pipeline en continu, et performance_target: STANDARD exécute le job en mode de performance Standard.
# resources/continuous_job.yml
resources:
jobs:
continuous_pipeline_job:
name: continuous_pipeline_job
performance_target: STANDARD
continuous:
pause_status: UNPAUSED
email_notifications:
on_failure:
- your_email@example.com
tasks:
- task_key: refresh_pipeline
pipeline_task:
pipeline_id: ${resources.pipelines.example_pipeline.id}
Pour migrer un pipeline continu existant vers un job continu, supprimez le champ continuous de la définition du pipeline. Le job configure ensuite l’exécution continue.
Pour la charge utile équivalente de l'API Jobs, consultez la référence jobs/create.
pipeline de synchronisation de tables de base de données
La tâche de pipeline de synchronisation de tables de base de données est une tâche de pipeline qui exécute le pipeline en maintenant une table synchronisée Lakebase. Utilisez-le pour refresh une table synchronisée selon une planification, ou lorsque la table source de Unity Catalog change, afin que les applications opérationnelles lisent les données actuelles depuis Lakebase Postgres.
Dans le menu déroulant Type de tâche, Pipeline de synchronisation de tables de base de données apparaît sous Ingestion et Transformations . La sélection de celui-ci configure une tâche de pipeline. Dans le champ Pipeline , choisissez le pipeline associé à la table synchronisée que vous souhaitez refresh.
Lakebase propose deux offres. La table synchronisée que vous souhaitez refresh détermine l'ensemble d'instructions à suivre :
- Lakebase Autoscaling est l'offre pour les nouvelles instances. Pour configurer la tâche pour une table synchronisée à mise à l'échelle automatique, consultez tâche de pipeline de synchronisation de table de base de données.
- Lakebase Provisionnée est l'offre originale. Pour configurer la tâche pour une table synchronisée de provisionnement, consultez la tâche de pipeline de synchronisation de table de base de données.
Pipeline d'ingestion
La tâche de pipeline d'ingestion est une tâche de pipeline qui exécute un pipeline d'ingestion. Dans la liste déroulante Type de tâche, le choix du pipeline d'ingestion start l'assistant Ajouter des données , qui crée une tâche de pipeline pour un pipeline d'ingestion.
La première page de l'assistant demande la source de données. Les pages suivantes dépendent de la source que vous sélectionnez. Par exemple, si vous sélectionnez MySQL, consultez Option 1 : Interface utilisateur Databricks pour connaître les étapes. Pour les sources disponibles, consultez Connecteurs gérés dans Lakeflow Connect.
parameter
Bêta
Cette fonctionnalité est en Bêta. Les administrateurs du Workspace peuvent contrôler l'accès à cette fonctionnalité à partir de la page Previews . Consultez Gérer les aperçus Databricks.
Vous pouvez accéder aux paramètres de job ou de tâche dans la tâche de votre pipeline à l’aide de références de valeur dynamiques. Vous pouvez remplacer les paramètres en ajoutant des paires clé - valeur dans les Paramètres de la configuration de votre tâche.
Pour plus de détails sur la façon d'accéder aux valeurs des parameters depuis votre pipeline, consultez Accéder aux valeurs des parameters depuis une tâche.
Limites de concurrence avec les tâches de pipeline
Un pipeline ne peut exécuter qu'une seule mise à jour à la fois. Les jobs contenant une tâche de pipeline sont soumis aux limites de simultanéité suivantes :
- Un Job avec
max_concurrent_runs > 1qui contient une tâche de pipeline est limité à une seule exécution concurrente. L'interface utilisateur des jobs affiche un avis lorsque ce plafond est appliqué. - Une tâche de pipeline intégrée dans une tâche for-each est limitée à une itération concurrente, indépendamment de la concurrence configurée de la boucle.
Tenez compte de ces limites lors de la conception de pipelines paramétrés que vous avez l'intention d'exécuter avec de nombreuses combinaisons de parameter ou selon des calendriers serrés.
Planifier un pipeline avec l’interface utilisateur du pipeline
L’ajout d’un calendrier à un pipeline crée un job avec une seule tâche de pipeline. Pour des options de Trigger plus avancées, voir Configurer une tâche de pipeline avec l’interface utilisateur des Jobs.
Configurez une tâche de pipeline dans un Job planifié à l'aide de l'interface utilisateur du pipeline en suivant les étapes ci-dessous :
-
Dans votre Workspace, cliquez
sur **Tâches et pipelines** dans la barre latérale.
-
Cliquez sur le Nom du pipeline. L’interface utilisateur du pipeline apparaît.
-
Cliquez sur **Planifier**.
- S'il n'existe pas de calendrier pour le pipeline, la boîte de dialogue **Nouveau calendrier** apparaît.
- Si un ou plusieurs plannings existent déjà, cliquez sur Ajouter un planning .
-
Dans la liste déroulante Trigger type , sélectionnez un type de Trigger :
- Planifié crée un calendrier basé sur le temps. Sélectionnez Avancé pour plus d’options, y compris la syntaxe Cron.
- Continu crée un job continu qui exécute le pipeline en continu. Voir Exécuter un pipeline en continu avec un job continu.
-
Saisissez un nom unique pour le Job dans le champ **Nom du Job**.
-
(Facultatif) Pour exécuter le pipeline en mode de performance Standard, décochez la case Performances optimisées . Consultez Sélectionner un mode de performance.
-
(Facultatif) Sous Plus d'options , configurez une ou plusieurs adresses e-mail pour recevoir des alertes en cas de start, de succès ou d'échec du pipeline.
-
Cliquez sur Créer .
Pour un calendrier continu, Databricks start automatiquement. Pour l’arrêter, cliquez sur Arrêter sur la page du pipeline ou suspendez le calendrier. Ces deux actions annulent également la mise à jour active.
Si le pipeline est inclus dans un ou plusieurs jobs planifiés, le bouton Planifier affiche le nombre de planifications existantes, par exemple, Planifier (5).
Ajoutez une planification à une vue matérialisée ou une table de streaming dans Databricks SQL
Les vues matérialisées et les tables de streaming définies dans Databricks SQL prennent en charge la planification basée sur le temps spécifiée dans les commandes CREATE ou ALTER.
Pour plus de détails, consultez les articles suivants :
Ressources supplémentaires
- Tâche de pipeline: définissez une tâche de pipeline en tant que code avec des Declarative Automation Bundles.
- Mode de pipeline Trigger ou continu: en savoir plus sur les modes de Trigger de pipeline.
- Configurez les paramètres de la tâche: transmettez des paramètres à la tâche.