Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
L’optimisation prédictive s’exécute OPTIMIZEautomatiquement, VACUUMet ANALYZE sur les tables managées du catalogue Unity (Delta Lake et Iceberg) sur Azure Databricks, éliminant ainsi la maintenance manuelle et le temps consacré au suivi des problèmes de performances.
Remarque
L’optimisation prédictive est activée par défaut pour les comptes créés le ou après le 11 novembre 2024. Databricks active les comptes existants avec un déploiement progressif. Ce déploiement devrait être terminé d’ici août 2026. Pour vérifier si votre compte est déjà activé, consultez Vérifier si l’optimisation prédictive est activée.
Avec l’optimisation prédictive activée, Databricks effectue automatiquement les opérations suivantes :
- Identifie les tables qui nécessitent des 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.
Cela élimine les exécutions de maintenance inutiles et la charge du suivi et de la résolution des problèmes de performances manuellement.
Databricks recommande l’optimisation prédictive pour toutes les tables managées du catalogue Unity. Par exemple, le clustering liquide automatique utilise 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.
Quelles opérations l’optimisation prédictive exécute-t-elle ?
L’optimisation prédictive exécute les opérations suivantes sur les tables gérées par le catalogue Unity :
| Opération | Descriptif |
|---|---|
OPTIMIZE |
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. Pour les tables pour lesquelles la lecture Iceberg (UniForm) est activée, nettoie également les fichiers de métadonnées Iceberg non accessibles. Consultez Supprimer les fichiers de données inutilisés avec vacuum et VACUUM et le nettoyage des métadonnées d’Iceberg. |
ANALYZE |
Analyse la table et collecte des statistiques pour améliorer les performances des requêtes. Voir ANALYZE TABLE ... STATISTIQUES DE CALCUL. Pour supprimer les statistiques collectées par l’optimisation prédictive, consultez ANALYZE TABLE ... DROP STATISTICS. |
Remarque
OPTIMIZE ne s’exécute pas ZORDER lorsqu’il est exécuté par une 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 pour VACUUM est déterminée par la propriété de table delta.deletedFileRetentionDuration, qui par défaut est fixée à 7 jours.
VACUUM supprime les fichiers de données qui ne sont plus référencés par une version de table Delta dans cette fenêtre. Pour conserver les données pendant des durées plus longues (par exemple, pour prendre en charge les déplacements prolongés), définissez cette propriété avant d’activer l’optimisation prédictive :
ALTER TABLE table_name SET TBLPROPERTIES ('delta.deletedFileRetentionDuration' = '30 days');
Calcul et facturation
L’optimisation prédictive exécute les opérations ANALYZE, OPTIMIZE et VACUUM en utilisant le calcul serverless pour les tâches. Votre compte est facturé pour ce calcul à l’aide d’un SKU de tâches serverless.
Consultez la tarification des services managés Databricks. Consultez les tables système pour suivre l’optimisation prédictive.
Prerequisites
Les exigences suivantes doivent être remplies pour utiliser l’optimisation prédictive :
- Votre espace de travail Azure Databricks doit se trouver sur le plan Premium dans une région prise en charge.
- Vous devez utiliser des entrepôts SQL ou Databricks Runtime 12.2 LTS ou versions ultérieures.
- 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, configurez 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, un schéma ou une table. 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 du compte au niveau du catalogue, du schéma ou de la table.
Vous devez disposer des privilèges suivants pour activer ou désactiver l’optimisation prédictive :
| Objet Unity Catalog | Privilège |
|---|---|
| Compte | Administrateur de compte |
| Catalogue | Propriétaire du catalogue ou utilisateur disposant MANAGE d’un privilège sur le catalogue |
| schéma | Propriétaire du schéma ou utilisateur disposant MANAGE de privilèges sur le schéma |
| Table | Propriétaire de la table ou utilisateur disposant MANAGE de privilèges sur la table |
Activer ou désactiver l’optimisation prédictive pour votre compte
Un administrateur de compte peut activer l’optimisation prédictive pour tous les metastores d’un compte. Les catalogues et les schémas héritent de ce paramètre par défaut, mais vous pouvez le remplacer à l’un ou l’autre niveau.
- Accédez à la console des comptes.
- Accédez à Paramètres, puis Activation de la fonctionnalité.
- Sélectionnez l’option souhaitée (par exemple, Activée) en regard de l’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, un schéma ou une table
L’optimisation prédictive utilise un modèle d’héritage. Lorsqu’il est activé pour un catalogue, les schémas de ce catalogue héritent également du paramètre et des tables au sein d’un schéma activé l’héritent également. Vous pouvez activer ou désactiver explicitement l’optimisation prédictive d’un catalogue, d’un schéma ou d’une table pour remplacer ce comportement.
Remarque
Vous pouvez désactiver l’optimisation prédictive au niveau du catalogue, du schéma ou de la table avant de l’activer au niveau du compte. Si l’optimisation prédictive est ultérieurement activée au niveau du compte, elle reste bloquée pour les objets qui l’ont spécifiquement désactivée.
Utilisez la syntaxe suivante pour activer, désactiver ou réinitialiser l’optimisation prédictive pour hériter de l’objet parent :
ALTER CATALOG [catalog_name] { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
ALTER { SCHEMA | DATABASE } schema_name { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
ALTER TABLE table_name { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
Voir ALTER TABLE.
Vérifier si l’optimisation prédictive est activée
Le Predictive Optimization champ est une propriété de catalogue Unity qui indique si l’optimisation prédictive est activée. Si le paramètre est hérité d’un objet parent, la valeur du champ indique ceci.
Utilisez la syntaxe suivante pour vérifier l’état :
DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name
Vérifier pourquoi l’optimisation prédictive a ignoré une table
Sur Databricks Runtime 18 LTS et versions ultérieures, après l’évaluation prédictive d’une table managée, vous pouvez vérifier pourquoi une opération a été ignorée de deux façons :
- Interrogez la table avec
DESCRIBE TABLE EXTENDED ... AS JSON. - Utilisez l’onglet Historique dans l’Explorateur de catalogues.
Les résultats peuvent prendre jusqu’à 24 heures.
Utilisez DESCRIBE TABLE EXTENDED ... AS JSON.
DESCRIBE TABLE EXTENDED ... AS JSON retourne un predictive_optimization_evaluations champ dans la sortie. Ce champ répertorie chaque type d’opération et le résultat d’évaluation le plus récent pour celui-ci.
Pour vérifier les résultats de l’évaluation d’une table, exécutez ce qui suit :
DESCRIBE TABLE EXTENDED catalog_name.schema_name.table_name AS JSON
Le predictive_optimization_evaluations champ affiche le résultat le plus récent pour chaque type d’opération. Seule la dernière évaluation est affichée sans historique. Les types d’opérations sont les suivants :
COMPACTIONCLUSTERINGAUTO_CLUSTERING_COLUMN_SELECTIONVACUUM
La sortie d’évaluation n’affiche pas les motifs de saut pour les opérations ANALYZE.
Utiliser l’onglet Historique dans l’Explorateur de catalogues
Vous pouvez afficher les motifs de saut dans l’onglet Historique pour une table dans Catalog Explorer. Dans la colonne Opération , l’étiquette automatique indique l’opération exécutée et l’étiquette Non appliquée indique que l’opération a été ignorée. L’étiquette automatique inclut l’optimisation prédictive et d’autres opérations automatiques, telles que le compactage automatique de streaming.
Pour afficher le motif d’omission, cliquez sur une ligne portant la mention Non appliquée dans la colonne Opération.
Le tableau suivant montre comment les types d’opérations dans la table de sortie DESCRIBE TABLE EXTENDED correspondent aux opérations affichées dans l’Explorateur de catalogues :
DESCRIBE TABLE EXTENDED type d’opération |
Opération de l’Explorateur de catalogues | Descriptif |
|---|---|---|
COMPACTION |
OPTIMIZE |
Compactage de fichiers pour améliorer les performances des requêtes |
CLUSTERING |
OPTIMIZE |
Regroupement fluide incrémentiel |
AUTO_CLUSTERING_COLUMN_SELECTION |
AUTO LIQUID |
Évaluation ou évolution des clés de regroupement liquide |
VACUUM |
VACUUM |
La suppression de fichiers de données n’est plus référencée par la table |
Suivre l’optimisation prédictive avec les tables du système
Databricks fournit la table système system.storage.predictive_optimization_operations_history pour l’observation des opérations d’optimisation prédictive, des coûts et de 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, il se peut que le Serverless Private Link ne soit pas correctement configuré. Consultez Configurer la connectivité privée aux ressources Azure.
Limites
L’optimisation prédictive ne s’exécute pas sur les types de tableau suivants :
- Tables chargées dans un espace de travail en tant que destinataires OpenSharing
- Tables externes