Qu’est-ce que les E/S prédictives ?
Les E/S prédictives sont une collection d’optimisations Azure Databricks qui améliorent les performances des interactions de données. Les fonctionnalités d’E/S prédictives sont regroupées dans les catégories suivantes :
- Les lectures accélérées réduisent le temps nécessaire à l’analyse et à la lecture des données.
- Les mises à jour accélérées réduisent la quantité de données qui doivent être réécrites pendant les mises à jour, les suppressions et les fusions.
Les E/S prédictives sont exclusives au moteur Photon sur Azure Databricks.
Utiliser des E/S prédictives pour accélérer les lectures
Les E/S prédictives sont utilisées pour accélérer les performances d’analyse et de filtrage des données pour toutes les opérations sur les types de calcul pris en charge.
Important
Les lectures d’E/S prédictives sont prises en charge par les types serverless et pro d’entrepôts SQL, ainsi que par les clusters à accélération Photon exécutant Databricks Runtime 11.3 LTS et versions ultérieures.
Les E/S prédictives améliorent les performances d’analyse en appliquant des techniques de Deep Learning pour effectuer les opérations suivantes :
- Déterminer le modèle d’accès le plus efficace pour lire les données et parcourir seulement les données réellement nécessaires.
- Éliminer le décodage des colonnes et des lignes qui ne sont pas nécessaires pour générer les résultats d’une requête.
- Calculer les probabilités des critères des critères de recherche dans des requêtes sélectives correspondant à une ligne. Lors de l’exécution des requêtes, nous utilisons ces probabilités pour anticiper l’endroit où la ligne correspondante suivante devrait se trouver et nous lisons seulement ces données dans le stockage cloud.
Utiliser des E/S prédictives pour accélérer les mises à jour
Les E/S prédictives pour les mises à jour sont utilisées automatiquement pour toutes les tables dont les vecteurs de suppression sont activés à l'aide des types de calcul compatibles Photon suivants :
- Entrepôts SQL sans serveur.
- Entrepôts Pro SQL.
- Clusters exécutant Databricks Runtime 14.0 et versions ultérieures.
Remarque
La prise en charge des E/S prédictives pour les mises à jour est présente dans Databricks Runtime 12.2 LTS et versions ultérieures, mais Databricks recommande d’utiliser 14.0 et versions ultérieures pour de meilleures performances.
Consultez Que sont les vecteurs de suppression ?.
Important
Un paramètre d’administrateur de l’espace de travail permet de contrôler si les vecteurs de suppression sont activés automatiquement pour les nouvelles tables Delta. Consultez Activer automatiquement des vecteurs de suppression.
Vous activez la prise en charge des vecteurs de suppression sur une table Delta Lake en définissant une propriété de la table Delta Lake. Vous activez des vecteurs de suppression lors de la création d’une table ou modifiez une table existante, comme dans les exemples suivants :
CREATE TABLE <table-name> [options] TBLPROPERTIES ('delta.enableDeletionVectors' = true);
ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);
Avertissement
Lorsque vous activez les vecteurs de suppression, la version du protocole de table est mise à niveau. Après la mise à niveau, la table ne sera pas lisible par les clients Delta Lake qui ne prennent pas en charge les vecteurs de suppression. Consultez Comment Azure Databricks gère-t-il la compatibilité des fonctionnalités Delta Lake ?.
Pour obtenir la liste des clients qui prennent en charge les vecteurs de suppression, consultez Compatibilité avec les clients Delta.
Dans Databricks Runtime 14.1 et versions ultérieures, vous pouvez annuler la fonctionnalité de table des vecteurs de suppression pour activer la compatibilité avec d’autres clients Delta. Voir Annuler des fonctionnalités de table Delta.
Les E/S prédictives tirent parti des vecteurs de suppression pour accélérer les mises à jour en réduisant la fréquence des réécritures de fichiers complètes pendant la modification des données sur les tables Delta. Les E/S prédictives optimisent les opérations DELETE
, MERGE
et UPDATE
.
Au lieu de réécrire tous les enregistrements d’un fichier de données lorsqu’un enregistrement est mis à jour ou supprimé, les E/S prédictives utilisent des vecteurs de suppression pour indiquer que les enregistrements ont été supprimés des fichiers de données cibles. Des fichiers de données supplémentaires sont utilisés pour indiquer les mises à jour.
Les lectures suivantes sur la table résolvent l’état actuel de la table en appliquant les modifications notées à la version la plus récente de la table.
Important
Les mises à jour d’E/S prédictives partagent toutes les limitations avec les vecteurs de suppression. Dans Databricks Runtime 12.2 LTS et versions ultérieures, les limitations suivantes existent :
- Delta Sharing n’est pas pris en charge sur les tables avec des vecteurs de suppression activés.
- Vous ne pouvez pas générer un fichier manifeste pour une table avec des vecteurs de suppression présents. Exécutez et vérifiez
REORG TABLE ... APPLY (PURGE)
qu’aucune opération d’écriture simultanée n’est en cours d’exécution pour générer un manifeste. - Vous ne pouvez pas générer de fichiers manifeste de manière incrémentielle pour une table avec des vecteurs de suppression activés.