CREATE BLOOM FILTER INDEX
Van toepassing op: Databricks SQL 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 table naam of een van de columns niet bestaat. Als Bloom-filtering is ingeschakeld voor een column, worden bestaande Bloom-filteropties vervangen door de nieuwe opties.
Syntaxis
CREATE BLOOMFILTER INDEX
ON [TABLE] table_name
FOR COLUMNS( { columnName1 [ options ] } [, ...] )
[ options ]
options
OPTIONS ( { key1 [ = ] val1 } [, ...] )
Parameters
-
Identificeert een bestaande Delta table. De naam mag geen tijdelijke specificatie of optiesspecificatie bevatten.
Hoewel het niet mogelijk is om een Bloom-filterindex te maken voor gegevens die al zijn geschreven, werkt de opdracht OPTIMIZE Bloom-filters bij voor gegevens die opnieuw zijn ingedeeld. Daarom kunt u een Bloom-filter invullen door OPTIMIZE
uit te voeren op een table:
- Als u de tablenog niet eerder hebt geoptimaliseerd.
- Met een andere bestandsgrootte moet de gegevensbestanden opnieuw worden geschreven.
- Met een
ZORDER
(of een andereZORDER
, indien aanwezig) moeten de gegevensbestanden opnieuw worden geschreven.
U kunt het Bloom-filter afstemmen door opties te definiëren op column niveau of op table niveau:
-
fpp
: Fout-positieve kans. De gewenste fout-positieve snelheid per geschreven Bloom-filter. Dit beïnvloedt het aantal bits dat nodig is om één item in het bloeifilter te plaatsen en beïnvloedt de grootte van het bloeifilter. De waarde moet groter zijn dan 0 en kleiner dan of gelijk aan 1. De standaardwaarde is 0,1 waarvoor 5 bits per item zijn vereist. -
numItems
: Het aantal afzonderlijke items dat het bestand kan bevatten. Deze instelling is belangrijk voor de kwaliteit van het filteren omdat deze invloed heeft op het totale aantal bits dat wordt gebruikt in het bloeifilter (aantal items - aantal bits per item). Als deze instelling onjuist is, is het Bloom-filter ofwel zeer sparse gevuld, verspillen van schijfruimte en trage query's die dit bestand moeten downloaden, of is het te vol en is minder nauwkeurig (hogere FPP). De waarde moet groter zijn dan 0. De standaardwaarde is 1 miljoen items. -
maxExpectedFpp
: De maximaal verwachte fout-positieve kans waarop een Bloom-filter naar de schijf wordt geschreven. Als de verwachte FPP groter is dan deze drempelwaarde, is de selectiviteit van het Bloom-filter te laag; de tijd en middelen die nodig zijn om het Bloom-filter te gebruiken, weegt op tegen de bruikbaarheid 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, table niveau en column niveau. Het column niveau heeft voorrang op de table- en bewerkingsniveaus en het table niveau heeft voorrang op het bewerkingsniveau.
Zie Bloom-filterindexen.