Aller au contenu principal

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

L'E/S prédictive est un ensemble d'optimisations Databricks qui accélère la lecture et la mise à jour des données :

  • Les lectures accélérées permettent d’accélérer les requêtes sélectives qui, autrement, analyseraient beaucoup plus de données qu’elles n’en renvoient.
  • Les mises à jour accélérées réduisent les données réécrites lorsqu’une mise à jour, une suppression ou une Merge ne modifie que quelques lignes dans un fichier.

Les E/S prédictives sont exclusives au moteur Photon sur Databricks. Voir Qu'est-ce que Photon ?.

Quand les E/S prédictives s’appliquent​

Les E/S prédictives s'exécutent automatiquement. Vous ne l'activez pas pour les requêtes individuelles. Pour en bénéficier :

Les E/S prédictives remplacent aussi les index de filtre de Bloom. Voir index de filtre de Bloom (obsolète).

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 de scan en appliquant des techniques de deep learning pour :

  • Déterminez le modèle d'accès le plus efficace pour lire les données et analysez uniquement 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.
  • Calculer les probabilités des critères de recherche dans les requêtes sélectives correspondant à une ligne. Lors de l’exécution des query, Predictive I/O utilise ces probabilités pour anticiper l’emplacement de la prochaine ligne correspondante et ne lire que ces données à 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 qui ont des vecteurs de suppression activés sur ces types de compute avec 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 du workspace permet de contrôler si les vecteurs de suppression sont automatiquement activés pour les nouvelles tables Delta Lake. 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 d'une table ou modifiez une table existante, par exemple :

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 table est mise à niveau. Après la mise à niveau, la table ne peut pas être lue par les clients Delta Lake qui ne prennent pas en charge les vecteurs de suppression. Consultez Compatibilité et protocoles des fonctionnalités 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.

Les E/S prédictives utilisent des 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 de données sur les tables Delta Lake. Les E/S prédictives optimisent 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 présentent les mêmes limitations que les vecteurs de suppression. Dans Databricks Runtime 12.2 LTS et versions supérieures, les limitations suivantes s'appliquent :

  • 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.