Créer un index de filtre de recherche de fleurs (Delta Lake sur Azure Databricks)Create Bloom Filter Index (Delta Lake on 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.Create a Bloom filter index for new or rewritten data; it does not create Bloom filters for existing data. La commande échoue si le nom de la table ou l’une des colonnes n’existe pas.The command fails if either the table name or one of the columns does not exist. 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.If Bloom filtering is enabled for a column, existing Bloom filter options are replaced by the new 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.While it is not possible to build a Bloom filter index for data that is already written, the OPTIMIZE command updates Bloom filters for data that is reorganized. Par conséquent, vous pouvez renvoyer un filtre fleuri en exécutant OPTIMIZE sur une table :Therefore, you can backfill a Bloom filter by running OPTIMIZE on a table:

  • Si vous n’avez pas encore optimisé la table.If you have not previously optimized the table.
  • Avec une taille de fichier différente, en exigeant que les fichiers de données soient réécrits.With a different file size, requiring that the data files be re-written.
  • 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.With a ZORDER (or a different ZORDER, if one is already present), requiring that the data files be re-written.

Vous pouvez paramétrer le filtre fleuri en définissant des options au niveau de la colonne ou au niveau de la table :You can tune the Bloom filter by defining options at the column level or at the table level:

  • fpp: Probabilité positive de faux.fpp: False positive probability. Taux de faux positifs souhaité par filtre de fleur écrit.The desired false positive rate per written Bloom filter. 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.This influences the number of bits needed to put a single item in the Bloom filter and influences the size of the Bloom filter. La valeur doit être supérieure à 0 et inférieure ou égale à 1.The value must be larger than 0 and smaller than or equal to 1. La valeur par défaut est 0,1 qui requiert 5 bits par élément.The default value is 0.1 which requires 5 bits per item.
  • numItems: Nombre d’éléments distincts que le fichier peut contenir.numItems: Number of distinct items the file can contain. 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).This setting is important for the quality of filtering as it influences the total number of bits used in the Bloom filter (number of items * number of bits per item). 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é).If this setting is incorrect, the Bloom filter is either very sparsely populated, wasting disk space and slowing queries that must download this file, or it is too full and is less accurate (higher FPP). La valeur doit être supérieure à 0.The value must be larger than 0. La valeur par défaut est 1 million éléments.The default is 1 million items.
  • maxExpectedFpp: Le seuil FPP attendu pour lequel un filtre fleuri n’est pas écrit sur le disque.maxExpectedFpp: The expected FPP threshold for which a Bloom filter is not written to disk. Probabilité positive de faux positifs attendue à laquelle un filtre fleuri est écrit.The maximum expected false positive probability at which a Bloom filter is written. 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.If the expected FPP is larger than this threshold, the Bloom filter’s selectivity is too low; the time and resources it takes to use the Bloom filter outweighs its usefulness. Elle doit être comprise entre 0 et 1.The value must be between 0 and 1. La valeur par défaut est 1,0 (désactivé).The default is 1.0 (disabled).

Ces options jouent un rôle uniquement lors de l’écriture des données.These options play a role only when writing the data. Vous pouvez configurer ces propriétés à différents niveaux hiérarchiques : opération d’écriture, niveau de table et niveau de colonne.You can configure these properties at various hierarchical levels: write operation, table level, and column level. 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.The column level takes precedence over the table and operation levels, and the table level takes precedence over the operation level.

Consultez index de filtre de recherche de fleurs.See Bloom filter indexes.