Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: Databricks SQL
Databricks Runtime
Vytvoří index filtru Bloom pro nová nebo přepsaná data; nevytvoří filtry Bloom pro existující data. Příkaz selže, pokud název tabulky nebo jeden ze sloupců neexistuje. Pokud je pro sloupec povolené filtrování Bloom, nahradí se stávající možnosti filtru Bloom novými možnostmi.
Syntaxe
CREATE BLOOMFILTER INDEX
ON [TABLE] table_name
FOR COLUMNS( { columnName1 [ options ] } [, ...] )
[ options ]
options
OPTIONS ( { key1 [ = ] val1 } [, ...] )
Parametry
-
Identifikuje existující tabulku Delta. Název nesmí obsahovat dočasnou specifikaci ani specifikaci možností.
I když není možné vytvořit index filtru Bloom pro data, která jsou již zapsána, OPTIMIZE příkaz aktualizuje Bloom filtry pro data, která jsou reorganizována. Proto můžete doplnit Bloomův filtr spuštěním OPTIMIZE
na tabulce:
- Pokud jste tabulku ještě neoptimalizovali.
- S jinou velikostí souboru vyžaduje opětovné zápis datových souborů.
- Pokud už existuje
ZORDER
(nebo jinýZORDER
), je nutné přepsat datové soubory.
Filtr Bloom můžete vyladit definováním možností na úrovni sloupce nebo na úrovni tabulky:
-
fpp
: Falešně pozitivní pravděpodobnost. Požadovaná míra falešně pozitivních výsledků pro zapsaný Bloomův filtr. To ovlivňuje počet bitů potřebných k vložení jedné položky do filtru Bloom a ovlivňuje velikost filtru Bloom. Hodnota musí být větší než 0 a menší než nebo rovna 1. Výchozí hodnota je 0,1, která vyžaduje 5 bitů na položku. -
numItems
: Počet jedinečných položek, které může soubor obsahovat. Toto nastavení je důležité pro kvalitu filtrování, protože ovlivňuje celkový počet bitů použitých ve filtru Bloom (počet položek – počet bitů na položku). Pokud je toto nastavení nesprávné, filtr Bloom je buď velmi řídce naplněný, zabírají místo na disku a zpomalují dotazy, které musí stáhnout tento soubor, nebo je příliš plný a je méně přesný (vyšší FPP). Hodnota musí být větší než 0. Výchozí hodnota je 1 milion položek. -
maxExpectedFpp
: Maximální očekávaná falešně pozitivní pravděpodobnost, při které je filtr Bloom zapsán na disk. Pokud je očekávaný FPP větší než tato prahová hodnota, selektivita Bloomova filtru je příliš nízká; čas a zdroje potřebné k použití Bloomova filtru převáží jeho užitečnost. Hodnota musí být v rozmezí od 0 do 1. Výchozí hodnota je 1.0 (zakázaná).
Tyto možnosti hrají roli pouze při zápisu dat. Tyto vlastnosti můžete nakonfigurovat na různých hierarchických úrovních: operace zápisu, úroveň tabulky a úroveň sloupce. Úroveň sloupce má přednost před úrovní tabulky a operací a úroveň tabulky má přednost před úrovní operace.