BLOOM SZŰRŐINDEX LÉTREHOZÁSA
A következőkre vonatkozik: Databricks SQL Databricks Runtime
Bloom szűrőindexet hoz létre új vagy újraírt adatokhoz; nem hoz létre Bloom-szűrőket a meglévő adatokhoz. A parancs meghiúsul, ha a tábla neve vagy az oszlopok egyike nem létezik. Ha a Bloom-szűrés engedélyezve van egy oszlopban, a meglévő Bloom szűrőbeállítások helyébe az új beállítások lépnek.
Syntax
CREATE BLOOMFILTER INDEX
ON [TABLE] table_name
FOR COLUMNS( { columnName1 [ options ] } [, ...] )
[ options ]
options
OPTIONS ( { key1 [ = ] val1 } [, ...] )
Paraméterek
Bár nem lehet bloom szűrőindexet létrehozni a már megírt adatokhoz, az OPTIMIZE parancs frissíti a Bloom-szűrőket az átszervezett adatokhoz. Ezért a Bloom-szűrőt egy táblán való futtatással OPTIMIZE
lehet visszatölteni:
- Ha korábban még nem optimalizálta a táblát.
- Más fájlméret esetén az adatfájlok újraírása szükséges.
ZORDER
Egy (vagy egy másikZORDER
, ha már van ilyen), amely megköveteli az adatfájlok újraírását.
A Bloom szűrőt az oszlopszinten vagy a táblázat szintjén megadott beállítások megadásával hangolhatja:
fpp
: Hamis pozitív valószínűség. A kívánt hamis pozitív arány írott Bloom-szűrőnként. Ez befolyásolja az egyetlen elem Bloom szűrőbe helyezéséhez szükséges bitek számát, és befolyásolja a Bloom szűrő méretét. Az értéknek 0-nál nagyobbnak és 1-nél kisebbnek kell lennie. Az alapértelmezett érték 0,1, amelyhez elemenként 5 bit szükséges.numItems
: A fájlban található különböző elemek száma. Ez a beállítás fontos a szűrés minősége szempontjából, mivel befolyásolja a Bloom szűrőben használt bitek teljes számát (elemek száma – elemenkénti bitek száma). Ha ez a beállítás helytelen, a Bloom szűrő vagy nagyon ritkán van feltöltve, lemezterületet és lelassítja a fájl letöltését igénylő lekérdezéseket, vagy túl tele van, és kevésbé pontos (magasabb FPP). Az értéknek 0-nál nagyobbnak kell lennie. Az alapértelmezett érték 1 millió elem.maxExpectedFpp
: A maximálisan várt hamis pozitív valószínűség, amelynél a Bloom-szűrő lemezre van írva. Ha a várt FPP nagyobb ennél a küszöbértéknél, a Bloom-szűrő szelektivitása túl alacsony; a Bloom-szűrő használatához szükséges idő és erőforrások meghaladják a hasznosságát. Az értéknek 0 és 1 között kell lennie. Az alapértelmezett érték az 1.0 (letiltva).
Ezek a beállítások csak az adatok írásakor játszanak szerepet. Ezeket a tulajdonságokat különböző hierarchikus szinteken konfigurálhatja: írási művelet, táblázatszint és oszlopszint. Az oszlopszint elsőbbséget élvez a táblázat és a műveleti szinttel szemben, a táblaszint pedig elsőbbséget élvez a műveleti szinttel szemben.
Lásd: Bloom szűrőindexek.