CREATE BLOOM FILTER INDEX

Platí pro:check označeno ano Kontrola Databricks SQL označená ano Databricks Runtime

Vytvoří index filtru Bloom pro nová nebo přepsaná data; nevytvoří filtry Aplikace Bloom pro existující data. Příkaz selže, pokud neexistuje název tabulky nebo jeden ze sloupců. Pokud je pro sloupec povolené filtrování Bloomu, 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

I když není možné vytvořit index filtru Bloom pro data, která jsou již napsaná, příkaz OPTIMIZE aktualizuje filtry Aplikace Bloom pro data, která jsou reorganizována. Proto můžete znovu vyplnit bloomový filtr spuštěním OPTIMIZE v tabulce:

  • Pokud jste tabulku ještě neoptimalizovali.
  • S jinou velikostí souboru, která vyžaduje, aby se datové soubory přepsaly.
  • ZORDER Pomocí (nebo jiného ZORDER, pokud už existuje) vyžaduje, aby se datové soubory přepsaly.

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á falešně pozitivní míra na zapsaný bloomový filtr. To ovlivňuje počet bitů potřebných k vložení jedné položky do Bloom filtru a ovlivňuje velikost filtru Bloom. Hodnota musí být větší než 0 a menší nebo rovna 1. Výchozí hodnota je 0,1, což 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 Bloomu je buď velmi řídce vyplněný, plýtvá místem na disku a zpomaluje dotazy, které musí tento soubor stáhnout, 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 bloomový filtr zapsán na disk. Pokud je očekávaná hodnota FPP větší než tato prahová hodnota, je selektivita filtru Bloom příliš nízká; Doba a prostředky, které je potřeba k použití filtru Bloom, převáží jeho užitečnost. Hodnota musí být mezi 0 a 1. Výchozí hodnota je 1.0 (zakázáno).

Tyto možnosti hrají roli pouze při zápisu dat. Tyto vlastnosti můžete konfigurovat na různých hierarchických úrovních: operace zápisu, na úrovni tabulky a na úrovni sloupce. Úroveň sloupce má přednost před úrovní tabulky a operace a úroveň tabulky má přednost před úrovní operace.

Viz Indexy bloomových filtrů.