Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
Remarque
L’optimisation prédictive est activée par défaut si votre compte a été créé le 11 novembre 2024 ou après le 11 novembre 2024. Databricks a commencé à activer les comptes existants à compter du 7 mai 2025. Cette activation est progressivement déployée et devrait être terminée d’ici février 2026. Si vous ne savez pas si votre compte est déjà activé, consultez Vérifier si l’optimisation prédictive est activée.
L’optimisation prédictive supprime la nécessité de gérer manuellement les opérations de maintenance pour les tables managées Unity Catalog sur Azure Databricks.
Avec l’optimisation prédictive activée, Azure Databricks effectue automatiquement les opérations suivantes :
- Identifie les tables qui bénéficieraient d’opérations de maintenance et met ces opérations en file d’attente pour exécution.
- Collecte des statistiques lorsque les données sont écrites dans une table gérée.
Les opérations de maintenance sont exécutées au besoin, ce qui élimine les exécutions inutiles pour les opérations de maintenance et la charge associée au suivi et à la résolution des problèmes de performances.
Databricks recommande d’utiliser l’optimisation prédictive pour toutes les tables gérées par le catalogue Unity. Par exemple, le clustering liquide automatique a une optimisation intelligente de la disposition des données en fonction de vos modèles d’utilisation des données. Consultez Utilisation de Liquid Clustering pour les tables.
Importante
L’optimisation prédictive s’exécute uniquement sur les tables gérées par le catalogue Unity.
L’optimisation prédictive n’est pas disponible dans toutes les régions. Consultez Fonctionnalités avec une disponibilité régionale limitée.
Quelles opérations l’optimisation prédictive exécute-t-elle ?
L’optimisation prédictive exécute automatiquement les opérations suivantes pour les tables activées :
| Opération | Descriptif |
|---|---|
OPTIMIZE
(1) |
Déclenche le clustering incrémentiel pour les tables activées. Consultez Utilisation de Liquid Clustering pour les tables. Améliore les performances des requêtes en optimisant les tailles de fichier. Consultez Optimiser la disposition des fichiers de données. |
VACUUM |
Réduit les coûts de stockage en supprimant les fichiers de données qui ne sont plus référencés par la table. Consultez Supprimer les fichiers de données inutilisés avec le nettoyage. |
ANALYZE |
Déclenche la mise à jour incrémentielle des statistiques pour améliorer les performances des requêtes. Consultez ANALYZE TABLE. |
(1)OPTIMIZE ne s’exécute ZORDER pas lorsqu’elle est exécutée avec l’optimisation prédictive. Sur les tables qui utilisent L’ordre Z, l’optimisation prédictive ignore les fichiers classés par Z.
Si le clustering liquide automatique est activé, l’optimisation prédictive peut sélectionner de nouvelles clés de clustering avant le clustering des données. Consultez Clustering liquide automatique.
Avertissement
La fenêtre de rétention de la commande VACUUM est déterminée par la propriété de table delta.deletedFileRetentionDuration, qui est définie par défaut sur 7 jours. Cela signifie que VACUUM supprime les fichiers de données qui ne sont plus référencés par une version de table Delta au cours des 7 derniers jours. Si vous souhaitez conserver des données plus longtemps (par exemple, pour prendre en charge les déplacements dans le temps pendant des durées plus longues), vous devez définir cette propriété de table de manière appropriée avant d’activer l’optimisation prédictive, comme dans l’exemple suivant :
ALTER TABLE table_name SET TBLPROPERTIES ('delta.deletedFileRetentionDuration' = '30 days');
Si vous configurez delta.deletedFileRetentionDuration sous la valeur par défaut de 7 jours, l’optimisation prédictive s’exécute VACUUM avec une durée de rétention de 7 jours.
Où s’exécute l’optimisation prédictive ?
L'optimisation prédictive identifie les tables qui pourraient bénéficier de ANALYZE, OPTIMIZE et VACUUM et les place dans une file d'attente pour les exécuter à l'aide du calcul sans serveur pour les tâches. Votre compte est facturé pour le calcul associé à ces charges de travail grâce à une catégorie SKU dédiée aux travaux sans serveur.
Consultez la tarification des services managés Databricks. Consultez Utiliser des tables système pour suivre l’optimisation prédictive.
Prérequis pour l’optimisation prédictive
Vous devez respecter les exigences suivantes pour activer l’optimisation prédictive :
- Votre espace de travail Azure Databricks doit se trouver sur le plan Premium dans une région qui prend en charge l’optimisation prédictive. Consultez Fonctionnalités avec une disponibilité régionale limitée.
- Vous devez utiliser des entrepôts SQL ou Databricks Runtime 12.2 LTS ou des versions ultérieures lorsque vous activez l’optimisation prédictive.
- Seules les tables managées par Unity Catalog sont prises en charge.
- Si vous avez besoin d’une connectivité privée pour vos comptes de stockage, vous devez configurer la connectivité privée serverless. Consultez Configurer la connectivité privée aux ressources Azure.
Activer l’optimisation prédictive
Vous pouvez activer l’optimisation prédictive pour un compte, un catalogue ou un schéma. Toutes les tables managées du catalogue Unity héritent par défaut de la valeur du compte. Vous pouvez remplacer la valeur par défaut d’un catalogue ou d’un schéma pour activer ou désactiver l’optimisation prédictive à ce niveau.
Remarque
L’optimisation prédictive est activée par défaut si votre compte a été créé le 11 novembre 2024 ou après le 11 novembre 2024. Databricks a commencé à activer les comptes existants à compter du 7 mai 2025. Cette activation est progressivement déployée et devrait être terminée d’ici février 2026.
Vous devez disposer des privilèges suivants pour activer ou désactiver l’optimisation prédictive au niveau spécifié :
| Objet Unity Catalog | Privilège |
|---|---|
| Compte | Administrateur de compte |
| Catalogue | Propriétaire de catalogue |
| schéma | Propriétaire du schéma |
Activer ou désactiver l’optimisation prédictive pour votre compte
Un administrateur de compte peut effectuer les étapes suivantes pour activer l’optimisation prédictive pour tous les metastores d’un compte. Les objets du compte héritent de ce paramètre par défaut (mais le paramètre peut être substitué au niveau du catalogue ou du schéma) :
- Accédez à la console des comptes.
- Accédez à Paramètres, puis Activation de la fonctionnalité.
- Sélectionnez l’option à utiliser (par exemple, Activé) à côté de Optimisation prédictive.
Remarque
- Les metastores dans les régions qui ne prennent pas en charge l’optimisation prédictive ne sont pas activés.
- La désactivation de l’optimisation prédictive au niveau du compte ne la désactive pas pour les catalogues ou les schémas qui l’ont spécifiquement activé.
Activer ou désactiver l’optimisation prédictive pour un catalogue ou un schéma
L’optimisation prédictive utilise un modèle d’héritage. Lorsqu’il est activé pour un catalogue, les schémas héritent de la propriété. Les tables d’un schéma activé héritent de l’optimisation prédictive. Pour remplacer ce comportement d’héritage, vous pouvez activer ou désactiver explicitement l’optimisation prédictive pour un catalogue ou un schéma.
Remarque
Vous pouvez désactiver l’optimisation prédictive au niveau du catalogue ou du schéma avant de l’activer au niveau du compte. Si l’optimisation prédictive est activée ultérieurement sur le compte, elle est bloquée pour les tables de ces objets.
Utilisez la syntaxe suivante pour activer ou désactiver l’optimisation prédictive, ou pour revenir à la valeur par défaut de l’héritage de l’objet parent :
ALTER CATALOG [catalog_name] { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
ALTER { SCHEMA | DATABASE } schema_name { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
Vérifier si l’optimisation prédictive est activée
Le champ Predictive Optimization est une propriété de Unity Catalog qui détaille si l’optimisation prédictive est activée. Si l’optimisation prédictive est héritée d’un objet parent, cela est indiqué dans la valeur du champ.
Utilisez la syntaxe suivante pour voir si l’optimisation prédictive est activée :
DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name
Utiliser des tables système pour suivre l’optimisation prédictive
Azure Databricks fournit la table système system.storage.predictive_optimization_operations_history pour assurer la visibilité sur les opérations d'optimisation prédictive, les coûts et l'impact. Consultez Informations de référence des tables système d’optimisation prédictive.
Message d’erreur de liaison privée
Si la table système marque les opérations comme ayant échoué avec FAILED: PRIVATE_LINK_SETUP_ERROR, vous n’avez peut-être pas configuré correctement la liaison privée pour le calcul serverless. Consultez Configurer la connectivité privée aux ressources Azure.
Limites
L’optimisation prédictive n’est pas disponible dans toutes les régions. Consultez Fonctionnalités avec une disponibilité régionale limitée.
Pour les tables dont la durée de rétention des fichiers est supprimée (delta.deletedFileRetentionDuration) configurée sous la valeur par défaut de 7 jours, l’optimisation prédictive s’exécute VACUUM avec une durée de rétention de 7 jours. Voir Configurer la conservation des données pour des requêtes de voyage dans le temps.
L’optimisation prédictive n’effectue pas d’opérations de maintenance sur les tables suivantes :
- Tables chargées dans un espace de travail en tant que destinataires de partage Delta.
- Tables externes.