Aller au contenu principal

profilage des données

Cet article décrit le profilage des données. Il donne un aperçu des composants et de l'utilisation du profilage des données.

Le profilage des données fournit des statistiques récapitulatives pour une table, calculant les métriques de profilage au fil du temps afin que vous puissiez visualiser facilement les tendances historiques. Il est utile pour le monitoring approfondi de toutes les métriques clés pour des tables sélectionnées. Vous pouvez également l'utiliser pour suivre les performances des modèles de machine learning et des endpoints de service de modèle en profilant les tables d'inférence qui contiennent les entrées et les prédictions du modèle. Le diagramme montre le flux de données à travers les pipelines de données et les Pipelines de ML dans Databricks, et comment vous pouvez utiliser le profilage pour suivre en continu la qualité des données et les performances du modèle.

Présentation du profilage des données

Pourquoi utiliser le profilage des données ?

Les métriques quantitatives vous aident à suivre et à confirmer la qualité et la cohérence de vos données au fil du temps. Lorsque vous détectez des changements dans la distribution des données de votre table ou les performances du modèle correspondant, les tables créées par le profilage des données peuvent capturer et vous alerter du changement et peuvent vous aider à en identifier la cause.

Le profilage des données vous aide à répondre à des questions telles que les suivantes :

  • À quoi ressemble l'intégrité des données, et comment évolue-t-elle au fil du temps ? Par exemple, quelle est la fraction de valeurs nulles ou égales à zéro dans les données actuelles, et a-t-elle augmenté ?
  • À quoi ressemble la distribution statistique des données et comment évolue-t-elle au fil du temps ? Par exemple, quel est le 90e centile d'une colonne numérique ? Ou, quelle est la distribution des valeurs dans une colonne catégorielle, et en quoi diffère-t-elle d'hier ?
  • Existe-t-il une drift entre les données actuelles et une ligne de base connue, ou entre des fenêtres temporelles successives des données ?
  • À quoi ressemble la distribution statistique ou le drift d'un sous-ensemble ou d'une tranche des données ?
  • Comment les entrées et les prévisions des modèles de ML évoluent-elles au fil du temps ?
  • Comment la performance du modèle évolue-t-elle au fil du temps ? La version A du modèle est-elle plus performante que la version B ?

En outre, le profilage des données vous permet de contrôler la granularité temporelle des observations et de configurer des métriques personnalisées.

Exigences

  • Votre Workspace doit être compatible avec Unity Catalog et vous devez avoir accès à Databricks SQL.
  • Pour activer le profilage des données, vous devez disposer des privilèges suivants :
    • USE CATALOG sur le catalogue et USE SCHEMA sur le schéma contenant la table.
    • SELECT sur la table.
    • MANAGE sur le catalogue, le schéma ou la table.
remarque

Le profilage des données utilise le compute serverless pour les jobs mais n'exige pas que votre compte soit activé pour le compute serverless. Pour plus d'informations sur le suivi des dépenses, consultez Afficher les dépenses de monitoring de la qualité des données.

Fonctionnement du profilage des données

Pour profiler une table, vous créez un profil attaché à la table. Pour profiler les performances d'un modèle de machine learning, vous attachez le profil à une table d'inférence qui contient les entrées du modèle et les prédictions correspondantes.

Le profilage des données offre les types d'analyse suivants : séries temporelles, inférence et instantanés.

Type de profil

Description

Série temporelle

À utiliser pour les tables qui contiennent un dataset de séries chronologiques basé sur une colonne de timestamp. Le profilage calcule des métriques de qualité des données sur des fenêtres temporelles de la série chronologique.

Inférence

À utiliser pour les tables qui contiennent le log de requêtes pour un modèle. Chaque ligne est une requête, avec des colonnes pour le timestamp, les entrées du modèle, la prédiction correspondante et l'étiquette de vérité terrain (facultatif). Le profilage compare les performances du modèle et les métriques de qualité des données sur des fenêtres temporelles du Logs des requêtes.

Instantané

Utiliser pour tous les autres types de tables. Le profilage calcule les mesures de qualité des données sur toutes les données de la table. La table complète est traitée à chaque refresh. La taille maximale de la table pour un profil d'instantané est de 4 To. Pour les tables plus grandes, utilisez plutôt des profils de série temporelle.

Type de profil

Description

Série temporelle

À utiliser pour les tables qui contiennent un dataset de séries chronologiques basé sur une colonne de timestamp. Le profilage calcule des métriques de qualité des données sur des fenêtres temporelles de la série chronologique.

Inférence

À utiliser pour les tables qui contiennent le log de requêtes pour un modèle. Chaque ligne est une requête, avec des colonnes pour le timestamp, les entrées du modèle, la prédiction correspondante et l'étiquette de vérité terrain (facultatif). Le profilage compare les performances du modèle et les métriques de qualité des données sur des fenêtres temporelles du Logs des requêtes.

Instantané

Utiliser pour tous les autres types de tables. Le profilage calcule les mesures de qualité des données sur toutes les données de la table. La table complète est traitée à chaque refresh. La taille maximale de la table pour un profil d'instantané est de 4 To. Pour les tables plus grandes, utilisez plutôt des profils de série temporelle.

Cette section décrit brièvement les tables d'entrée utilisées par le profilage des données et les tables de métriques qu'il produit. Le diagramme montre la relation entre les tables d'entrée, les tables de métriques, le profil et le tableau de bord.

Diagramme de profilage des données

Table principale et table de base

En plus de la table à profiler, appelée la « table primaire », vous pouvez éventuellement spécifier une table de référence à utiliser pour mesurer le drift, ou le changement de valeurs au fil du temps. Une table de référence est utile lorsque vous avez un échantillon de l'aspect attendu de vos données. L'idée est que le drift est ensuite calculé par rapport aux valeurs et distributions de données attendues.

La table de base doit contenir un dataset qui reflète la qualité attendue des données d'entrée, en termes de distributions statistiques, de distributions de colonnes individuelles, de valeurs manquantes et d'autres caractéristiques. Il doit correspondre au schéma de la table profilée. L'exception est la colonne Timestamp pour les tables utilisées avec des séries temporelles ou des profils d'inférence. Si des colonnes sont manquantes dans la table primaire ou la table de référence, le profilage utilise des heuristiques au meilleur effort pour calculer les métriques de sortie.

Pour les profils qui utilisent un profil d'instantané, la table de référence doit contenir un instantané des données où la distribution représente une norme de qualité acceptable. Par exemple, pour les données de distribution des notes, on pourrait définir la base de référence comme une classe précédente où les notes étaient distribuées uniformément.

Pour les profils qui utilisent un profil de série temporelle, la table de référence doit contenir des données qui représentent des fenêtres temporelles où les distributions de données représentent une norme de qualité acceptable. Par exemple, pour les données météorologiques, vous pourriez définir la ligne de base sur une semaine, un mois ou une année où la température était proche des températures normales attendues.

Pour les profils qui utilisent un profil d'inférence, un bon choix de référence est les données qui ont été utilisées pour entraîner ou valider le modèle en cours de profilage. De cette façon, les utilisateurs peuvent être alertés lorsque les données ont subi un drift par rapport à ce sur quoi le modèle a été entraîné et validé. Cette table doit contenir les mêmes colonnes de fonctionnalités que la table primaire, et doit en outre avoir le même model_id_col qui a été spécifié pour l'InferenceLog de la table primaire afin que les données soient agrégées de manière cohérente. Idéalement, l'ensemble de test ou de validation utilisé pour évaluer le modèle devrait être utilisé pour garantir des métriques de qualité de modèle comparables.

Tables métriques et tableau de bord

Le profilage crée deux tables de métriques et un tableau de bord. Les valeurs métriques sont calculées pour l'ensemble de la table, ainsi que pour les fenêtres temporelles et les sous-ensembles de données (ou « segments ») que vous spécifiez lors de la création du profil. En outre, pour l'analyse d'inférence, les métriques sont compute pour chaque ID de modèle. Pour plus de détails sur les tables de métriques, consultez les tables de métriques de profilage des données.

Les tables de métriques sont des tables Delta et sont stockées dans un schéma Unity Catalog que vous spécifiez. Vous pouvez afficher ces tables à l'aide de l'interface utilisateur Databricks, les interroger à l'aide de Databricks SQL et créer des tableaux de bord et des alertes basés sur celles-ci.

Pour chaque profil, Databricks crée automatiquement un tableau de bord pour vous aider à visualiser et à présenter les résultats du profil. Le tableau de bord est entièrement personnalisable. Voir Tableaux de bord.

Limitations

  • Seules les tables Delta sont prises en charge pour le profilage, et la table doit être l’un des types de tables suivants : tables gérées, tables externes, vues, vues matérialisées ou tables streaming.
  • Les profils créés sur des vues matérialisées ne prennent pas en charge le traitement incrémentiel.
  • Toutes les régions ne sont pas prises en charge. Pour le support régional, consultez la colonne profilage des données dans le tableau Disponibilité des fonctionnalités d'IA et de machine learning.
  • Les profils créés à l'aide des modes d'analyse de séries chronologiques ou d'inférence ne compute les métriques que sur les 30 derniers jours. Si vous devez ajuster cela, contactez l’équipe de votre compte Databricks.
  • La taille maximale de table pour un profil d'instantané est de 4 To. Pour les tables plus volumineuses, utilisez plutôt des profils de séries temporelles.

Start using le profilage des données

Consultez les articles suivants pour démarrer :