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 table lub jedna z columns nie istnieje. Jeśli filtrowanie Bloom jest włączone dla column, istniejące opcje filtru Bloom zostaną zastąpione przez nowe opcje.

Składnia

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

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

Parameters

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 Blooma, uruchamiając OPTIMIZE na table:

  • Jeśli wcześniej nie zoptymalizowałeś table.
  • 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 column lub na poziomie table:

  • 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: na poziomie operacji zapisu, na poziomie table i na poziomie column. Poziom column ma pierwszeństwo przed poziomami table i operacji, a poziom table ma pierwszeństwo przed poziomem operacji.

Zobacz Indeksy filtrów Blooma.