Obtenez un aperçu du nouveau livre électronique d'O'Reilly pour obtenir les conseils étape par étape dont vous avez besoin pour commencer à utiliser Delta Lake.
Contrôle de version des données pour la reproduction d’expériences, la restauration et l’audit des données
Nous sommes ravis de présenter les fonctionnalités de voyage dans le temps dans Databricks Delta Lake, le moteur d’analytique unifié de nouvelle génération basé sur Apache Spark, pour tous nos utilisateurs. Grâce à cette nouvelle fonctionnalité, Delta versionne automatiquement le Big Data que vous stockez dans votre Data Lake, et vous pouvez accéder à n’importe quelle version antérieure de ces données. Cette gestion des données temporelles simplifie votre pipeline de données en facilitant l’audit, la restauration des données en cas de mauvaises écritures ou suppressions accidentelles, et la reproduction des expériences et des rapports. Votre organisation peut enfin se standardiser sur un référentiel de Big Data propre, centralisé et versionné dans son propre stockage cloud pour son analytique.
Les fonctionnalités de voyage dans le temps de Delta simplifient la création de pipelines de données pour les cas d’utilisation ci-dessus. Lorsque vous écrivez dans une table ou un répertoire Delta, chaque opération est automatiquement versionnée. Vous pouvez accéder aux différentes versions des données de deux manières différentes :
1. Utilisation d’un horodatage
Syntaxe Scala :
Vous pouvez fournir l’horodatage ou la chaîne de date en tant qu’option au lecteur DataFrame :
En Python :
Syntaxe SQL :
Si le code du lecteur se trouve dans une bibliothèque à laquelle vous n’avez pas accès, et si vous transmettez des paramètres d’entrée à la bibliothèque pour lire les données, vous pouvez toujours remonter dans le temps pour une table en transmettant l’horodatage au format yyyyMMddHHmmssSSS au chemin d’accès :
2. Utilisation d’un numéro de version
Dans Delta, chaque écriture a un numéro de version, et vous pouvez également utiliser le numéro de version pour remonter dans le temps.
Syntaxe Scala :
Syntaxe Python :
Syntaxe SQL :
Vous pouvez consulter l’historique des modifications de table à l’aide de la commande DESCRIBE HISTORY ou via l’interface utilisateur.
Le voyage dans le temps joue également un rôle important dans le Machine Learning et la science des données. La reproductibilité des modèles et des expériences est un élément clé pour les scientifiques des données, car ils créent souvent des centaines de modèles avant d’en mettre un en production, et au cours de ce processus long et fastidieux, ils aimeraient revenir à des modèles antérieurs. Toutefois, comme la gestion des données est souvent distincte des outils de science des données, il est très difficile d’y parvenir.
Databricks résout ce problème de reproductibilité en intégrant les fonctionnalités de voyage dans le temps de Delta à MLflow, une plateforme Open Source pour le cycle de vie du Machine Learning. Pour une formation reproductible en Machine Learning, vous pouvez simplement enregistrer une URL horodatée vers le chemin d’accès en tant que paramètre MLflow pour suivre la version des données qui a été utilisée pour chaque tâche de formation. Cela vous permet de revenir à des paramètres et des ensembles de données antérieurs pour reproduire des modèles antérieurs. Vous n’avez pas besoin de vous coordonner avec les équipes en amont sur les données ni de vous soucier du clonage des données pour différentes expériences. C’est la puissance de l’analytique unifiée, où la science des données est étroitement liée à l’ingénierie des données.
Le voyage dans le temps facilite également les restaurations en cas de mauvaises écritures. Par exemple, si votre tâche de pipeline RGPD avait un bogue qui supprimait accidentellement des informations utilisateur, vous pouvez facilement corriger le pipeline :
Vous pouvez également corriger les mises à jour incorrectes comme suit :
Avec les requêtes AS OF, vous pouvez désormais épingler l’instantané d’une table Delta mise à jour en continu pour plusieurs tâches en aval. Prenons l’exemple d’une situation où une table Delta est mise à jour en continu, par exemple toutes les 15 secondes, et où une tâche en aval lit périodiquement à partir de cette table Delta et met à jour différentes destinations. Dans de tels scénarios, vous souhaitez généralement une vue cohérente de la table Delta source afin que toutes les tables de destination reflètent le même état. Vous pouvez désormais gérer facilement de tels scénarios comme suit :
Le voyage dans le temps simplifie également l’analytique des séries chronologiques. Par exemple, si vous souhaitez savoir combien de nouveaux clients vous avez ajoutés au cours de la semaine dernière, votre requête pourrait être très simple comme celle-ci :
Le voyage dans le temps dans Delta améliore considérablement la productivité des développeurs. Il permet de :
Les organisations peuvent enfin se standardiser sur un référentiel de Big Data propre, centralisé et versionné dans leur propre stockage cloud pour l’analytique. Nous sommes ravis de voir ce que vous serez en mesure d’accomplir avec cette nouvelle fonctionnalité.
La fonctionnalité est disponible en préversion publique pour tous les utilisateurs. En savoir plus sur la fonctionnalité. Pour la voir en action, inscrivez-vous pour un essai gratuit de Databricks.
(Cet article de blog a été traduit à l'aide d'outils basés sur l'intelligence artificielle) Article original
