Skapa filter index för blomma (delta Lake på Azure Databricks)

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

Skapa ett filter index för blomma för nya eller reskrivna data. Inga blomma-filter skapas för befintliga data. Kommandot Miss lyckas om antingen tabell namnet eller en av kolumnerna inte finns. Om blomma-filtrering är aktiverat för en kolumn, ersätts befintliga filter alternativ för blomma med de nya alternativen.

Även om det inte går att bygga ett filter index för blomma för data som redan är skrivet, uppdaterar Optimize -kommandot filter för data som är omorganiserade. Därför kan du fylla ett blomma-filter genom att köra OPTIMIZE i en tabell:

  • Om du inte har optimerat tabellen tidigare.
  • Med en annan fil storlek, vilket kräver att datafilerna ska skrivas över igen.
  • Med en ZORDER (eller en annan ZORDER , om det redan finns en sådan), vilket kräver att datafilerna ska skrivas om.

Du kan justera blomma-filtret genom att definiera alternativ på kolumn nivå eller på tabell nivå:

  • fpp: Falsk positiv sannolikhet. Det önskade falskt positivt pris per skrivet blomma-filter. Detta påverkar antalet bitar som behövs för att lagra ett enskilt objekt i filtret för blomma och påverkar storleken på filtret. Värdet måste vara större än 0 och mindre än eller lika med 1. Standardvärdet är 0,1 som kräver 5 bitar per objekt.
  • numItems: Antalet distinkta objekt som filen kan innehålla. Den här inställningen är viktig för filtreringens kvalitet eftersom det påverkar det totala antalet bitar som används i filtret blomma (antal objekt * antal bitar per objekt). Om den här inställningen är felaktig, är filtret för överordnad, slösar från disk utrymme och saktar ned frågor som måste ladda ned den här filen eller är för full och är mindre exakt (högre FPP). Värdet måste vara större än 0. Standardvärdet är 1 000 000 objekt.
  • maxExpectedFpp: Det förväntade FPP-tröskelvärdet för vilket ett blomma-filter inte skrivs till disk. Den maximala förväntade falskt positiv sannolikhet vid vilken ett blomma-filter skrivs. Om det förväntade FPP är större än det här tröskelvärdet är filtret för blomma för lågt. den tid och de resurser som krävs för att använda blomma-filtret förväger dess användbarhet. Värdet måste vara mellan 0 och 1. Standardvärdet är 1,0 (inaktiverat).

De här alternativen spelar bara en roll när du skriver data. Du kan konfigurera dessa egenskaper på olika hierarkiska nivåer: Skriv åtgärd, tabell nivå och kolumn nivå. Kolumn nivån har företräde framför tabell-och drift nivåer och tabell nivån har företräde framför åtgärds nivån.

Se filter index för blomma.