Créer un index de filtre de recherche de fleurs (Delta Lake sur Azure Databricks)

CREATE BLOOMFILTER INDEX
ON [TABLE] table_name
[FOR COLUMNS(columnName1 [OPTIONS(..)], columnName2, ...)]
[OPTIONS(..)]

Créer un index de filtre de fleurs pour les données nouvelles ou réécrites ; Il ne crée pas de filtres pour les données existantes. La commande échoue si le nom de la table ou l’une des colonnes n’existe pas. Si le filtrage de recherche de fleurs est activé pour une colonne, les options de filtre de recherche de fleurs existantes sont remplacées par les nouvelles options.

Bien qu’il ne soit pas possible de générer un index de filtre de recherche de données pour les données qui sont déjà écrites, la commande optimize met à jour les filtres de recherche de données qui sont réorganisés. Par conséquent, vous pouvez renvoyer un filtre fleuri en exécutant OPTIMIZE sur une table :

  • Si vous n’avez pas encore optimisé la table.
  • Avec une taille de fichier différente, en exigeant que les fichiers de données soient réécrits.
  • Avec un ZORDER (ou un différent ZORDER , s’il est déjà présent), en exigeant que les fichiers de données soient réécrits.

Vous pouvez paramétrer le filtre fleuri en définissant des options au niveau de la colonne ou au niveau de la table :

  • fpp: Probabilité positive de faux. Taux de faux positifs souhaité par filtre de fleur écrit. Cela a une incidence sur le nombre de bits nécessaires pour placer un seul élément dans le filtre fleuri et influe sur la taille du filtre de recherche de fleurs. La valeur doit être supérieure à 0 et inférieure ou égale à 1. La valeur par défaut est 0,1 qui requiert 5 bits par élément.
  • numItems: Nombre d’éléments distincts que le fichier peut contenir. Ce paramètre est important pour la qualité du filtrage, car il influence le nombre total de bits utilisés dans le filtre fleuri (nombre d’éléments * nombre de bits par élément). Si ce paramètre est incorrect, le filtre fleuri est soit très peu peuplé, ce qui gaspille de l’espace disque et ralentit les requêtes qui doivent télécharger ce fichier, soit il est trop plein et est moins précis (FPP plus élevé). La valeur doit être supérieure à 0. La valeur par défaut est 1 million éléments.
  • maxExpectedFpp: Le seuil FPP attendu pour lequel un filtre fleuri n’est pas écrit sur le disque. Probabilité positive de faux positifs attendue à laquelle un filtre fleuri est écrit. Si la taille de FPP attendue est supérieure à ce seuil, la sélectivité du filtre fleuri est trop faible. le temps et les ressources dont il a besoin pour utiliser le filtre de recherche de fleurs sont plus utiles. Elle doit être comprise entre 0 et 1. La valeur par défaut est 1,0 (désactivé).

Ces options jouent un rôle uniquement lors de l’écriture des données. Vous pouvez configurer ces propriétés à différents niveaux hiérarchiques : opération d’écriture, niveau de table et niveau de colonne. Le niveau de la colonne est prioritaire par rapport aux niveaux de la table et de l’opération, et le niveau de la table est prioritaire par rapport au niveau de l’opération.

Consultez index de filtre de recherche de fleurs.