Référence des tables système MLflow
Aperçu
Les tables système MLflow sont en aperçu public.
Les tables système mlflow recueillent les métadonnées d'expérimentation gérées au sein du service de suivi MLflow. Ces tables permettent aux utilisateurs privilégiés de tirer parti des outils lakehouse Databricks sur leurs données MLflow dans tous les workspaces de la région. Vous pouvez utiliser les tables pour créer des tableaux de bord AI/BI personnalisés, configurer des alertes SQL ou exécuter des requêtes analytiques à grande échelle.
Grâce aux tables système mlflow, les utilisateurs peuvent répondre à des questions telles que :
- Quelles expérimentations ont la fiabilité la plus faible ?
- Quelle est l'utilisation moyenne du GPU à travers les différentes expérimentations ?
Les tables système mlflow ont commencé à enregistrer les données MLflow de toutes les régions le 2 septembre 2025. Les données antérieures à cette date pourraient ne pas être disponibles.
Tables disponibles
Le schéma mlflow comprend les tables suivantes :
system.mlflow.experiments_latest: Enregistre les noms d'expérimentation et les événements de suppression logicielle. Ces données sont similaires à la page d'expérimentations de l'interface utilisateur MLflow.system.mlflow.runs_latest: Enregistre les informations sur le cycle de vie des exécutions, les paramètres et les balises associés à chaque exécution, ainsi que les statistiques agrégées des valeurs minimales, maximales et les plus récentes de toutes les métriques. Ces données sont similaires à la page de recherche ou de détails des exécutions.system.mlflow.run_metrics_history: Enregistre le nom, la valeur, le timestamp et l'étape de toutes les métriques enregistrées lors des exécutions, qui peuvent être utilisés pour tracer des séries chronologiques détaillées à partir des exécutions. Ces données sont similaires à l'onglet des métriques sur la page de détails des exécutions.
Voici un exemple de traçage des informations d'exécution à l'aide d'un tableau de bord :

Schémas de table
Vous trouverez ci-dessous les schémas de table avec les descriptions et les données d'exemple.
system.mlflow.experiments_latest
Nom de colonne | Type de données | Description | Exemple | Autorise les valeurs nulles |
|---|---|---|---|---|
| chaîne | L'ID du compte contenant l'expérience MLflow |
| Non |
| Horodatage | L’heure système de la dernière mise à jour de l’Experimentation. |
| Non |
| Horodatage | L'heure système à laquelle l'expérimentation MLflow a été supprimée de manière réversible par l'utilisateur. |
| Oui |
| chaîne | L'ID de l'Expérimentation MLflow. |
| Non |
| chaîne | L'ID du Workspace contenant l'expérience MLflow |
| Non |
| chaîne | Nom de l'expérimentation fourni par l'utilisateur |
| Non |
| Horodatage | L'heure système à laquelle l'Expérimentation a été créée |
| Non |
system.mlflow.runs_latest
Nom de colonne | Type de données | Description | Exemple | Autorise les valeurs nulles |
|---|---|---|---|---|
| chaîne | L'ID du compte contenant l'exécution MLflow |
| Non |
| Horodatage | L'heure système à laquelle l'exécution a été mise à jour pour la dernière fois |
| Non |
| Horodatage | Heure système à laquelle l’exécution MLflow a été supprimée de manière réversible par l’utilisateur. |
| Oui |
| chaîne | L'ID du workspace contenant l'exécution MLflow |
| Non |
| chaîne | L'ID de l'exécution MLflow |
| Non |
| chaîne | L'ID de l'expérience MLflow contenant l'exécution MLflow |
| Non |
| chaîne | Nom du principal Databricks, de l'utilisateur ou du groupe qui a créé l'exécution MLflow |
| Oui |
| Horodatage | L'heure spécifiée par l'utilisateur à laquelle l'exécution MLflow a start |
| Non |
| Horodatage | L'heure spécifiée par l'utilisateur à laquelle l'exécution MLflow s'est terminée. |
| Oui |
| chaîne | Le nom de l'exécution MLflow |
| Non |
| chaîne | L'état d'exécution de l'exécution MLflow |
| Non |
| map<string, string\> | Paramètres clé-valeur de l'exécution MLflow |
| Non |
| map<string, string\> | Tags clé-valeur définis sur l'exécution MLflow |
| Non |
| list<struct<string, double, double, double>> | Une vue agrégée résumant les métriques dans le run_metrics_history |
| Non |
| chaîne | Le nom de la métrique spécifié par l'utilisateur |
| Non |
| double | La dernière valeur du metric_name dans la série temporelle de cette combinaison (exécution, metric_name) dans run_metrics_history |
| Non |
| double | La valeur maximale du nom de la métrique dans la série chronologique de cette combinaison (exécution, nom_métrique) dans l'historique_métriques_exécutions. Si une valeur NaN a été enregistrée pour une métrique, la valeur sera NaN |
| Non |
| double | La valeur minimale du nom_de_la_métrique dans la série temporelle de cette combinaison (exécution, nom_de_la_métrique) dans l'historique des métriques d'exécution. Si une valeur NaN a été enregistrée pour une métrique, la valeur sera NaN |
| Non |
system.mlflow.run_metrics_history
Nom de colonne | Type de données | Description | Exemple | Autorise les valeurs nulles |
|---|---|---|---|---|
| chaîne | L'ID du compte contenant l'exécution MLflow dans laquelle la métrique a été journalisée |
| Non |
| Horodatage | L'heure système à laquelle la métrique a été insérée |
| Non |
| chaîne | Un identifiant unique de la métrique pour distinguer les valeurs identiques |
| Non |
| chaîne | L'ID du workspace contenant l'exécution MLflow à laquelle la métrique a été enregistrée |
| Non |
| chaîne | L'ID de l'expérimentation MLflow contenant l'exécution MLflow à laquelle la métrique a été journalisée. |
| Non |
| chaîne | L'ID de l'exécution MLflow à laquelle la métrique a été journalisée |
| Non |
| chaîne | Le nom de la métrique |
| Non |
| Horodatage | L'heure spécifiée par l'utilisateur à laquelle la métrique a été calculée |
| Non |
| bigint | L'étape (par exemple, époque) de l'entraînement du modèle ou du développement de l'agent à laquelle la métrique a été enregistrée |
| Non |
| double | La valeur de la métrique |
| Non |
Partage de l'accès avec les utilisateurs
By default, seuls les administrateurs de compte ont accès aux schémas système. Pour donner aux utilisateurs supplémentaires l'accès aux tables, un administrateur de compte doit leur accorder les autorisations USE et SELECT sur le schéma system.mlflow.. Voir référence des privilèges Unity Catalog.
Tout utilisateur ayant accès à ces tables peut visualiser les métadonnées sur toutes les expérimentations MLflow pour tous les Workspaces du compte . Pour configurer l'accès à la table pour un groupe donné plutôt que pour des utilisateurs individuels, consultez les bonnes pratiques d'Unity Catalog.
Si vous avez besoin d'un contrôle plus granulaire que l'octroi d'un accès à tous les utilisateurs à la table, vous pouvez utiliser des vues dynamiques avec des critères personnalisés pour accorder un certain accès à des groupes. Par exemple, vous pourriez créer une vue qui n'affiche que les enregistrements d'un ensemble particulier d'ID d'Experimentation. Après avoir configuré une vue personnalisée, donnez le nom de la vue à vos utilisateurs afin qu'ils puissent interroger la vue dynamique plutôt que la table système directement.
Vous ne pouvez pas synchroniser directement les autorisations d'expérience MLflow avec les autorisations Unity Catalog.
Exemples de cas d'utilisation des métadonnées MLflow
Les sections suivantes donnent des exemples de la façon dont vous pouvez utiliser les tables système MLflow pour répondre à des questions sur vos expérimentations et exécutions MLflow.
Configurer une alerte SQL pour une faible fiabilité d'expérimentation
À l'aide des alertes Databricks SQL, vous pouvez planifier une query récurrente et être averti si certaines contraintes ne sont plus respectées.
Cet exemple crée une alerte qui examine les expérimentations les plus fréquemment exécutées au sein de votre workspace afin de déterminer si elles connaissent une faible fiabilité et nécessitent une attention particulière. La query utilise la table runs_latest pour calculer le nombre d'exécutions par expérimentation qui sont marquées comme terminées, divisé par le nombre total d'exécutions.
Vous pouvez également utiliser les anciennes alertes.
-
Cliquez sur
Alertes dans la barre latérale, puis sur Créer une alerte .
-
Copiez et collez la query suivante dans l'éditeur de requêtes.
SQLSELECT
experiment_id,
AVG(CASE WHEN status = 'FINISHED' THEN 1.0 ELSE 0.0 END) AS success_ratio,
COUNT(status) AS run_count
FROM system.mlflow.runs_latest
WHERE status IS NOT NULL
GROUP BY experiment_id
ORDER BY run_count DESC
LIMIT 20; -
Dans le champ Condition , définissez les conditions sur
MIN success_ratio < 0.9. This will Trigger the alert si l'une des 20 premières Expérimentations (par nombre d'exécutions) a un taux de réussite inférieur à 90 %.
De plus, vous pouvez tester la condition, définir un calendrier et configurer des notifications. Pour plus d'informations sur la configuration de l'alerte, consultez la configuration d'une alerte SQL. Voici un exemple de configuration utilisant la query.

Exemples de query
Vous pouvez utiliser les requêtes d'exemple suivantes pour obtenir des informations sur l'activité MLflow dans votre compte en utilisant Databricks SQL. Vous pouvez également tirer parti d'outils comme les notebooks Python avec Spark.
Obtenir des informations sur l'exécution à partir de runs_latest
SELECT
run_name,
date(start_time) AS start_date,
status,
TIMESTAMPDIFF(MINUTE, start_time, end_time) AS run_length_minutes
FROM system.mlflow.runs_latest
WHERE
experiment_id = :experiment_id
AND run_id = :run_id
LIMIT 1
Ceci renvoie des informations sur l'exécution donnée :

Obtenez des informations sur l'Experiment et l'exécution de experiments_latest et runs_latest
SELECT
runs.run_name,
experiments.name,
date(runs.start_time) AS start_date,
runs.status,
TIMESTAMPDIFF(MINUTE, runs.start_time, runs.end_time) AS run_length_minutes
FROM system.mlflow.runs_latest runs
JOIN system.mlflow.experiments_latest experiments ON runs.experiment_id = experiments.experiment_id
WHERE
runs.experiment_id = :experiment_id
AND runs.run_id = :run_id
LIMIT 1
Obtenez des statistiques récapitulatives pour une exécution donnée depuis run_metrics_history
SELECT
metric_name,
count(metric_time) AS num_data_points,
ROUND(avg(metric_value), 1) AS avg,
ROUND(max(metric_value), 1) AS max,
ROUND(min(metric_value), 1) AS min,
ROUND(PERCENTILE_CONT(0.25) WITHIN GROUP (ORDER BY metric_value), 1) AS pct_25,
ROUND(PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY metric_value), 1) AS median,
ROUND(PERCENTILE_CONT(0.75) WITHIN GROUP (ORDER BY metric_value), 1) AS pct_75
FROM
system.mlflow.run_metrics_history
WHERE
run_id = :run_id
GROUP BY
metric_name, run_id
LIMIT 100
Ceci renvoie un résumé des métriques pour le run_id donné :

Tableaux de bord pour les expérimentations et les exécutions
Vous pouvez créer des tableaux de bord à partir des données des tables système MLflow pour analyser vos expériences et exécutions MLflow depuis l'ensemble du workspace.
Pour plus de détails, consultez Créer des tableaux de bord avec les métadonnées MLflow dans les tables système