BLOOM-FILTERINDEX MAKEN

Van toepassing op:controleren met ja Databricks SQL-controle gemarkeerd als ja Databricks Runtime

Hiermee maakt u een Bloom-filterindex voor nieuwe of herschreven gegevens; Er worden geen Bloom-filters voor bestaande gegevens gemaakt. De opdracht mislukt als de tabelnaam of een van de kolommen niet bestaat. Als Bloeifilter is ingeschakeld voor een kolom, worden bestaande opties voor bloeifilters vervangen door de nieuwe opties.

Syntaxis

CREATE BLOOMFILTER INDEX
ON [TABLE] table_name
FOR COLUMNS( { columnName1 [ options ] } [, ...] )
[ options ]

options
  OPTIONS ( { key1 [ = ] val1 } [, ...] )

Parameters

Hoewel het niet mogelijk is om een Bloom-filterindex te maken voor gegevens die al zijn geschreven, worden met de opdracht OPTIMALISEREN bloom-filters bijgewerkt voor gegevens die opnieuw zijn ingedeeld. Daarom kunt u een Bloom-filter aanvullen door uit te voeren OPTIMIZE op een tabel:

  • Als u de tabel nog niet eerder hebt geoptimaliseerd.
  • Met een andere bestandsgrootte, waardoor de gegevensbestanden opnieuw moeten worden geschreven.
  • Met een ZORDER (of een andere ZORDER, als deze al aanwezig is), waarbij moet worden vereist dat de gegevensbestanden opnieuw worden geschreven.

U kunt het filter Bloei afstemmen door opties te definiëren op kolomniveau of op tabelniveau:

  • fpp: Fout-positieve kans. De gewenste fout-positieve snelheid per geschreven Bloom-filter. Dit heeft invloed op het aantal bits dat nodig is om één item in het bloomfilter te plaatsen en beïnvloedt de grootte van het filter Bloei. De waarde moet groter zijn dan 0 en kleiner dan of gelijk aan 1. De standaardwaarde is 0,1. Hiervoor is 5 bits per item vereist.
  • numItems: het aantal afzonderlijke items dat het bestand kan bevatten. Deze instelling is belangrijk voor de kwaliteit van het filteren, omdat deze van invloed is op het totale aantal bits dat wordt gebruikt in het bloom-filter (aantal items - aantal bits per item). Als deze instelling onjuist is, is het Bloom-filter zeer dun gevuld, waardoor schijfruimte wordt verpild en query's worden vertraagd die dit bestand moeten downloaden, of het filter is te vol en minder nauwkeurig (hogere FPP). De waarde moet groter zijn dan 0. De standaardwaarde is 1 miljoen items.
  • maxExpectedFpp: De maximale verwachte fout-positieve kans waarmee een Bloom-filter naar de schijf wordt geschreven. Als de verwachte FPP groter is dan deze drempelwaarde, is de selectiviteit van het bloomfilter te laag; de tijd en middelen die nodig zijn om het Bloom-filter te gebruiken, wegen zwaarder dan het nut ervan. De waarde moet tussen 0 en 1 zijn. De standaardwaarde is 1.0 (uitgeschakeld).

Deze opties spelen alleen een rol bij het schrijven van de gegevens. U kunt deze eigenschappen configureren op verschillende hiërarchische niveaus: schrijfbewerking, tabelniveau en kolomniveau. Het kolomniveau heeft voorrang op de tabel- en bewerkingsniveaus en het tabelniveau heeft voorrang op het bewerkingsniveau.

Zie Bloeifilterindexen.