Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poznámka
Při použití výpočetních prostředků s podporou Photon a Databricks Runtime 12.2 nebo vyšší, předpovědní vyžití/sada procesů vstupně-výstupních operací převyšuje výkony filtrů Bloom při čtení. Viz Co je prediktivní vstup/výstup?.
Počínaje verzí Databricks Runtime 13.3, Databricks doporučuje používat shlukování pro uspořádání tabulek Delta. Viz Použití metody 'liquid clustering' pro tabulky.
Databricks doporučuje používat filtry Bloom pouze při použití výpočetních prostředků, které tyto funkce nepodporují.
Index filtru Bloom je prostorově efektivní datová struktura, která umožňuje přeskočení dat na vybraných sloupcích, zejména pro pole obsahující libovolný text.
Jak fungují indexy filtru Bloom
Indexy filtru Azure Databricks Bloom se skládají z indexu přeskakování dat pro každý datový soubor. Index filtru Bloom lze použít k určení, že hodnota sloupce je rozhodně není v souboru nebo že je pravděpodobně v souboru. Před čtením souboru Azure Databricks zkontroluje indexový soubor a soubor se přečte jenom v případě, že index indikuje, že soubor může odpovídat filtru dat.
Bloom filtry podporují sloupce s následujícími vstupními datovými typy: byte
, short
, int
, long
, float
, double
, date
, timestamp
a string
. Hodnoty Null nejsou přidány do filtru Bloom, takže žádný související filtr null vyžaduje čtení datového souboru. Azure Databricks podporuje následující filtry zdrojů dat: and
, or
, in
, equals
a equalsnullsafe
. Filtry Bloom nejsou podporovány ve vnořených sloupcích.
Konfigurace a referenční informace
K povolení filtru Bloom použijte následující syntaxi:
CREATE BLOOMFILTER INDEX
ON TABLE table_name
FOR COLUMNS(column_name OPTIONS (fpp=0.1, numItems=5000))
Pro podrobnosti o syntaxi viz CREATE BLOOM FILTER INDEX a DROP BLOOM FILTER INDEX.
Chcete-li zakázat operace filtru Bloom, nastavte konfiguraci na úrovni relace spark.databricks.io.skipping.bloomFilter.enabled
na false
.
Zobrazení seznamu indexů filtru Bloom
Pokud chcete zobrazit seznam indexů, spusťte:
spark.table("<table-with-indexes>").schema.foreach(field => println(s"${field.name}: metadata=${field.metadata}"))
Například: