Udostępnij za pośrednictwem


CREATE BLOOM FILTER INDEX

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Tworzy indeks filtru Bloom dla nowych lub przepisanych danych; nie tworzy filtrów Bloom dla istniejących danych. Polecenie kończy się niepowodzeniem, jeśli nazwa tabeli lub jedna z kolumn nie istnieje. Jeśli filtrowanie Bloom jest włączone dla kolumny, istniejące opcje filtru Bloom są zastępowane przez nowe opcje.

Składnia

CREATE BLOOMFILTER INDEX
ON [TABLE] table_name
FOR COLUMNS( { columnName1 [ options ] } [, ...] )
[ options ]

options
  OPTIONS ( { key1 [ = ] val1 } [, ...] )

Parametry

Chociaż nie można utworzyć indeksu filtru Bloom dla danych, które zostały już zapisane, polecenie OPTIMIZE aktualizuje filtry Bloom dla danych, które zostały zreorganizowane. W związku z tym można wypełnić filtr Bloom, uruchamiając OPTIMIZE polecenie w tabeli:

  • Jeśli tabela nie została wcześniej zoptymalizowana.
  • W przypadku innego rozmiaru pliku wymagane jest ponowne zapisanie plików danych.
  • W przypadku elementu ZORDER (lub innego ZORDERelementu , jeśli jest już obecny), wymagane jest ponowne zapisanie plików danych.

Filtr Bloom można dostosować, definiując opcje na poziomie kolumny lub na poziomie tabeli:

  • fpp: Prawdopodobieństwo fałszywie dodatnie. Żądana liczba wyników fałszywie dodatnich na zapisany filtr Bloom. Wpływa to na liczbę bitów potrzebnych do umieszczenia pojedynczego elementu w filtrze Bloom i wpływa na rozmiar filtru Bloom. Wartość musi być większa niż 0 i mniejsza niż lub równa 1. Wartość domyślna to 0,1, która wymaga 5 bitów na element.
  • numItems: liczba unikatowych elementów, które może zawierać plik. To ustawienie jest ważne dla jakości filtrowania, ponieważ wpływa na całkowitą liczbę bitów używanych w filtrze Bloom (liczba elementów — liczba bitów na element). Jeśli to ustawienie jest nieprawidłowe, filtr Bloom jest albo bardzo rozrzedżony, marnowanie miejsca na dysku i spowalnianie zapytań, które muszą pobrać ten plik, lub jest zbyt pełny i jest mniej dokładny (wyższy FPP). Wartość musi być większa niż 0. Wartość domyślna to 1 milion elementów.
  • maxExpectedFpp: maksymalne oczekiwane prawdopodobieństwo fałszywie dodatnie, w którym filtr Bloom jest zapisywany na dysku. Jeśli oczekiwana wartość FPP jest większa niż ten próg, wybór filtru Bloom jest zbyt niski; czas i zasoby potrzebne do korzystania z filtru Bloom przewyższa jego użyteczność. Wartość musi należeć do przedziału od 0 do 1. Wartość domyślna to 1.0 (wyłączona).

Te opcje odgrywają rolę tylko podczas zapisywania danych. Te właściwości można skonfigurować na różnych poziomach hierarchicznych: operacji zapisu, poziomu tabeli i na poziomie kolumny. Poziom kolumny ma pierwszeństwo przed poziomami tabeli i operacji, a poziom tabeli ma pierwszeństwo przed poziomem operacji.

Zobacz Indeksy filtrów Blooma.