CREATE BLOOM FILTER INDEX

Dotyczy:sprawdź oznaczone jako tak Zaznaczone pole wyboru SQL usługi Databricks 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 blooma jest włączone dla kolumny, istniejące opcje filtru Bloom są zastępowane przez nowe opcje.

Składni

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 uzupełnić filtr Bloom, uruchamiając polecenie OPTIMIZE w tabeli:

  • Jeśli tabela nie została wcześniej zoptymalizowana.
  • W przypadku innego rozmiaru pliku wymagane jest ponowne zapisanie plików danych.
  • ZORDER W przypadku elementu (lub innego ZORDERelementu , jeśli jest już obecny), wymaganie ponownego zapisania 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. Ma to wpływ 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 odrębnych 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 niepoprawne, filtr Bloom jest albo bardzo rozrzedliwy, marnowanie miejsca na dysku i spowalnianie zapytań, które muszą pobrać ten plik, lub jest zapełniony 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 Blooma 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.