Aller au contenu principal

Qu'est-ce que l'E/S prédictive ?

Predictive I/O est un ensemble d'optimisations Databricks qui améliorent les performances des interactions de données. Les capacité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 pour analyser et lire les données.
  • Les mises à jour accélérées réduisent la quantité de données qui doit être réécrite lors des mises à jour, des suppressions et des Merge.

Les E/S prédictives sont exclusives au moteur Photon sur Databricks.

Utilisez les E/S prédictives pour accélérer les lectures

L'E/S prédictive est utilisée pour accélérer l'analyse des données et les performances de filtrage pour toutes les Opérations sur les types de compute pris en charge.

important

Les lectures E/S prédictives sont prises en charge par les types serverless et pro de SQL Warehouse, et par les clusters accélérés par 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 d'apprentissage profond pour effectuer les opérations suivantes :

  • Déterminez le modèle d'accès le plus efficace pour lire les données et ne scanner que les données réellement nécessaires.
  • Éliminez le décodage des colonnes et des lignes qui ne sont pas nécessaires pour générer des résultats de query.
  • Calculez les probabilités des critères de recherche dans les queries sélectives correspondant à une ligne. À mesure que les query s'exécutent, nous utilisons ces probabilités pour anticiper où se produirait la prochaine ligne correspondante et ne lire ces données qu'à partir du stockage cloud.

Utilisez les 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 en utilisant les types de compute suivants activés pour Photon :

  • Serverless SQL Warehouse.
  • Pro SQL Warehouse.
  • Clusters exécutant Databricks Runtime 14,0 et versions ultérieures.
remarque

La prise en charge de l'E/S prédictive pour les mises à jour est présente dans Databricks Runtime 12.2 LTS et versions ultérieures, mais Databricks recommande d'utiliser la version 14.0 et supérieure pour de meilleures performances.

Voir les vecteurs de suppression dans Databricks.

important

Un paramètre d'administration de workspace contrôle si les vecteurs de suppression sont activés automatiquement pour les nouvelles tables Delta. Voir activer automatiquement les 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 table Delta Lake. Vous activez les vecteurs de suppression lors de la création de la table ou modifiez une table existante, comme dans les exemples suivants :

SQL
CREATE TABLE <table-name> [options] TBLPROPERTIES ('delta.enableDeletionVectors' = true);

ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);
attention

Lorsque vous activez les vecteurs de suppression, la version du protocole de la 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. Voir Compatibilité des fonctionnalités et protocoles de Delta Lake.

Pour une liste des clients qui prennent en charge les vecteurs de suppression, consultez Compatibilité des clients.

Dans Databricks Runtime 14.1 et versions supérieures, vous pouvez supprimer la fonctionnalité de table des vecteurs de suppression pour activer la compatibilité avec d'autres clients Delta. Voir supprimer une fonctionnalité de table Delta Lake et rétrograder le protocole de table.

L'E/S prédictive exploite les vecteurs de suppression pour accélérer les mises à jour en réduisant la fréquence des réécritures complètes de fichiers lors de la modification des données sur les tables Delta. L'E/S prédictive optimise les Opérations DELETE, MERGE et UPDATE.

Plutôt que de réécrire tous les enregistrements dans 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 des enregistrements ont été supprimés des fichiers de données cibles. Les fichiers de données supplémentaires sont utilisés pour indiquer les mises à jour.

Les lectures ultérieures 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 des 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 :

  • OpenSharing n'est pas pris en charge sur les tables avec les vecteurs de suppression activés.
  • Vous ne pouvez pas générer un fichier manifeste pour une table comportant des vecteurs de suppression. Exécutez REORG TABLE ... APPLY (PURGE) et assurez-vous qu'aucune opération d'écriture concurrente n'est en cours d'exécution afin de générer un manifeste.
  • Vous ne pouvez pas générer de manière incrémentielle des fichiers manifestes pour une table avec des vecteurs de suppression activés.