Indeksy filtru Blooma
Uwaga
W przypadku korzystania z obliczeń z obsługą technologii Photon i środowiska Databricks Runtime w wersji 12.2 lub nowszej filtry odkształcania operacji we/wy predykcyjnej operacji we/wy w celu uzyskania wydajności odczytu. Zobacz Co to jest predykcyjne we/wy?
W środowisku Databricks Runtime 13.3 lub nowszym usługa Databricks zaleca używanie klastrowania dla układu tabeli delty. Zobacz Użyj płynnego klastrowania dla tabel typu Delta).
Usługa Databricks zaleca używanie filtrów Bloom tylko w przypadku korzystania z obliczeń, które nie obsługują tych funkcji.
Indeks filtru Bloom to wydajna przestrzeń struktura danych, która umożliwia pomijanie danych w wybranych kolumnach, szczególnie w przypadku pól zawierających dowolny tekst.
Jak działają indeksy filtru Blooma
Indeksy filtrów Bloom usługi Azure Databricks składają się z indeksu pomijania danych dla każdego pliku danych. Indeks filtru Bloom może służyć do określenia, że wartość kolumny nie znajduje się w pliku lub prawdopodobnie znajduje się w pliku. Przed odczytaniem pliku usługa Azure Databricks sprawdza plik indeksu, a plik jest odczytywany tylko wtedy, gdy indeks wskazuje, że plik może być zgodny z filtrem danych.
Filtry Bloom obsługują kolumny z następującymi typami danych wejściowych: byte
, , float
double
short
long
date
int
timestamp
, i .string
Wartości null nie są dodawane do filtru Bloom, więc każdy filtr powiązany z wartością null wymaga odczytania pliku danych. Usługa Azure Databricks obsługuje następujące filtry źródeł danych: and
, , or
in
, equals
i equalsnullsafe
. Filtry Bloom nie są obsługiwane w kolumnach zagnieżdżonych.
Konfiguracja i dokumentacja
Użyj następującej składni, aby włączyć filtr Blooma:
CREATE BLOOMFILTER INDEX
ON TABLE table_name
FOR COLUMNS(column_name OPTIONS (fpp=0.1, numItems=5000))
Aby uzyskać szczegółowe informacje o składni, zobacz CREATE BLOOM FILTER INDEX (TWORZENIE INDEKSU FILTRU BLOOMA) i DROP BLOOM FILTER INDEX (INDEKS FILTRU DROP BLOOM).
Aby wyłączyć operacje filtrowania Blooma, ustaw konfigurację poziomu spark.databricks.io.skipping.bloomFilter.enabled
sesji na false
wartość .
Wyświetlanie listy indeksów filtru Blooma
Aby wyświetlić listę indeksów, uruchom polecenie:
spark.table("<table-with-indexes>").schema.foreach(field => println(s"${field.name}: metadata=${field.metadata}"))
Na przykład:
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla