Delen via


BLOOM FILTER INDEX MAKEN

Van toepassing op: vinkje als ja aan Databricks SQL vinkje als ja aan 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 bloomfilters zijn ingeschakeld voor een kolom, worden bestaande bloomfilteropties vervangen door de nieuwe opties.

Syntaxis

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

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

Parameters

  • table_name

    Identificeert een bestaande Delta-tabel. De naam mag geen tijdelijke specificatie bevatten.

Hoewel het niet mogelijk is om een Bloom-filterindex te maken voor gegevens die al zijn geschreven, werkt de opdracht OPTIMIZE bloomfilters bij voor gegevens die opnieuw zijn georganiseerd. Daarom kunt u een Bloom-filter invullen door op een tabel uit te voeren OPTIMIZE :

  • Als u de tabel nog niet eerder hebt geoptimaliseerd.
  • Met een andere bestandsgrootte moet de gegevensbestanden opnieuw worden geschreven.
  • Met een ZORDER (of een andere ZORDER, indien aanwezig) moeten de gegevensbestanden opnieuw worden geschreven.

U kunt het Bloom-filter 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 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, tabelniveau en kolomniveau. Het kolomniveau heeft voorrang op de tabel- en bewerkingsniveaus en het tabelniveau heeft voorrang op het bewerkingsniveau.

Zie Bloom-filterindexen.