SKAPA BLOOM-FILTERINDEX
Gäller för: Databricks SQL Databricks Runtime
Skapar ett Bloom-filterindex för nya eller omskrivna data. Det skapar inte Bloom-filter för befintliga data. Kommandot misslyckas om antingen tabellnamnet eller någon av kolumnerna inte finns. Om Bloom-filtrering är aktiverat för en kolumn ersätts befintliga Bloom-filteralternativ med de nya alternativen.
Syntax
CREATE BLOOMFILTER INDEX
ON [TABLE] table_name
FOR COLUMNS( { columnName1 [ options ] } [, ...] )
[ options ]
options
OPTIONS ( { key1 [ = ] val1 } [, ...] )
Parametrar
-
Identifierar en befintlig Delta-tabell. Namnet får inte innehålla någon temporal specifikation.
Det går inte att skapa ett Bloom-filterindex för data som redan har skrivits, men kommandot OPTIMIZE uppdaterar Bloom-filter för data som har omorganiserats. Därför kan du fylla i ett Bloom-filter igen genom att köra OPTIMIZE
på en tabell:
- Om du inte tidigare har optimerat tabellen.
- Med en annan filstorlek, vilket kräver att datafilerna skrivs om.
- Med en
ZORDER
(eller en annanZORDER
, om en redan finns) kräver att datafilerna skrivs om.
Du kan justera Bloom-filtret genom att definiera alternativ på kolumnnivå eller på tabellnivå:
fpp
: Falsk positiv sannolikhet. Önskad false positive rate per skriftligt Bloom-filter. Detta påverkar antalet bitar som behövs för att placera ett enskilt objekt i Bloom-filtret och påverkar storleken på Bloom-filtret. Värdet måste vara större än 0 och mindre än eller lika med 1. Standardvärdet är 0,1, vilket kräver 5 bitar per objekt.numItems
: Antal distinkta objekt som filen kan innehålla. Den här inställningen är viktig för filtreringens kvalitet eftersom den påverkar det totala antalet bitar som används i Bloom-filtret (antal objekt – antal bitar per objekt). Om den här inställningen är felaktig är Bloom-filtret antingen mycket glest fyllt, slösar bort diskutrymme och långsamma frågor som måste ladda ned den här filen, eller så är den för full och är mindre exakt (högre FPP). Värdet måste vara större än 0. Standardvärdet är 1 miljon objekt.maxExpectedFpp
: Den maximala förväntade falska positiva sannolikheten för att ett Bloom-filter skrivs till disk. Om det förväntade FPP:t är större än det här tröskelvärdet är Bloom-filtrets selektivitet för låg. den tid och de resurser det tar att använda Bloom-filtret väger tyngre än dess användbarhet. Värdet måste vara mellan 0 och 1. Standardvärdet är 1.0 (inaktiverat).
Dessa alternativ spelar bara en roll när du skriver data. Du kan konfigurera dessa egenskaper på olika hierarkiska nivåer: skrivåtgärd, tabellnivå och kolumnnivå. Kolumnnivån har företräde framför tabell- och åtgärdsnivåer och tabellnivån har företräde framför åtgärdsnivån.