DLT offre une plateforme robuste pour créer des pipelines de traitement de données fiables, maintenables et testables au sein de Databricks. En tirant parti de son cadre déclaratif et en provisionnant automatiquement une puissance de calcul serverless optimale, DLT simplifie les complexités du streaming, de la transformation et de la gestion des données, offrant ainsi évolutivité et efficacité pour les flux de travail de données modernes.
Nous sommes ravis d'annoncer une amélioration très attendue : la possibilité de publier des tables dans plusieurs schémas et catalogues au sein d'un même pipeline DLT. Cette capacité réduit la complexité opérationnelle, diminue les coûts et simplifie la gestion des données en vous permettant de consolider votre architecture médaillon (Bronze, Argent, Or) en un seul pipeline tout en respectant les meilleures pratiques organisationnelles et de gouvernance.
Avec cette amélioration, vous pouvez :
LIVE pour indiquer les dépendances entre les tables. Les noms de tables entièrement et partiellement qualifiés sont pris en charge, ainsi que les commandes USE SCHEMA et USE CATALOG, tout comme en SQL standard.“La possibilité de publier dans plusieurs catalogues et schémas à partir d'un seul pipeline DLT - et ne nécessitant plus le mot-clé LIVE - nous a aidés à standardiser les meilleures pratiques de pipeline, à rationaliser nos efforts de développement et à faciliter la transition facile des équipes des charges de travail non-DLT vers DLT dans le cadre de notre adoption à grande échelle par l'entreprise de ces outils.” — Ron DeFreitas, Principal Data Engineer, HealthVerity
Tous les pipelines créés à partir de l'interface utilisateur prennent désormais en charge par défaut plusieurs catalogues et schémas. Vous pouvez définir un catalogue et un schéma par défaut au niveau du pipeline via l'interface utilisateur, l'API ou les Databricks Asset Bundles (DAB).
Si vous créez un pipeline par programmation, vous pouvez activer cette fonctionnalité en spécifiant le champ schema dans PipelineSettings. Cela remplace le champ target existant, garantissant que les jeux de données peuvent être publiés dans plusieurs catalogues et schémas.
Pour créer un pipeline avec cette fonctionnalité via l'API, vous pouvez suivre cet exemple de code (Note : l'authentification par jeton d'accès personnel doit être activée pour l'espace de travail) :
En définissant le champ schema, le pipeline prendra automatiquement en charge la publication de tables dans plusieurs catalogues et schémas sans nécessiter le mot-clé LIVE.
schema dans le fichier YAML du pipeline et supprimez le champ target s'il existe.
databricks bundle validate“ pour valider la configuration du DAB.databricks bundle deploy -t <environment>“ pour déployer votre premier pipeline DPM !“La fonctionnalité fonctionne exactement comme nous l'attendions ! J'ai pu diviser les différents jeux de données au sein de DLT dans nos schémas de staging, core et UDM (essentiellement une configuration bronze, silver, gold) au sein d'un seul pipeline.” — Florian Duhme, Expert Data Software Developer, Arvato

Une fois votre pipeline configuré, vous pouvez définir des tables en utilisant des noms entièrement ou partiellement qualifiés en SQL et en Python.
Exemple SQL
Exemple Python
Vous pouvez référencer des jeux de données en utilisant des noms entièrement ou partiellement qualifiés, le mot-clé LIVE étant facultatif pour la compatibilité descendante.
Exemple SQL
Exemple Python
Avec cette nouvelle fonctionnalité, les méthodes d'API clés ont été mises à jour pour prendre en charge plus facilement plusieurs catalogues et schémas :
Auparavant, ces méthodes ne pouvaient référencer que des jeux de données définis dans le pipeline actuel. Désormais, elles peuvent référencer des jeux de données dans plusieurs catalogues et schémas, en suivant automatiquement les dépendances si nécessaire. Cela facilite la création de pipelines qui intègrent des données provenant de différents emplacements sans configuration manuelle supplémentaire.
Dans le passé, ces méthodes nécessitaient des références explicites à des jeux de données externes, ce qui rendait les requêtes inter-catalogues plus complexes. Avec la nouvelle mise à jour, les dépendances sont désormais suivies automatiquement, et le schéma LIVE n'est plus requis. Cela simplifie le processus de lecture de données à partir de plusieurs sources au sein d'un même pipeline.
La syntaxe Databricks SQL prend désormais en charge la définition dynamique des catalogues et schémas actifs, ce qui facilite la gestion des données dans plusieurs emplacements.
Exemple SQL
Exemple Python
Cette fonctionnalité permet également aux propriétaires de pipelines de publier les journaux d'événements dans le metastore Unity Catalog pour une meilleure observabilité. Pour activer cette option, spécifiez le champ event_log dans le JSON des paramètres du pipeline. Par exemple :
Avec cela, vous pouvez désormais émettre des GRANTS sur la table des journaux d'événements comme sur une table ordinaire :
Vous pouvez également créer une vue sur la table des journaux d'événements :
En plus de tout ce qui précède, vous pouvez également streamer à partir de la table des journaux d'événements :
À l'avenir, ces améliorations deviendront la norme pour tous les nouveaux pipelines créés, que ce soit via l'interface utilisateur, l'API ou les Databricks Asset Bundles. De plus, un outil de migration sera bientôt disponible pour aider à la transition des pipelines existants vers le nouveau modèle de publication.
En savoir plus dans la documentation ici.
(Cet article de blog a été traduit à l'aide d'outils basés sur l'intelligence artificielle) Article original
