Dela via


Bloom-filterindex

Kommentar

När du använder Photon-aktiverad beräkning och Databricks Runtime 12.2 eller senare överträffar förutsägande I/O bloom-filter för läsprestanda. Se Vad är förutsägande I/O?.

I Databricks Runtime 13.3 och senare rekommenderar Databricks att du använder klustring för Delta-tabelllayout. Se Använda flytande klustring för Delta-tabeller.

Databricks rekommenderar bara att du använder Bloom-filter när du använder beräkning som inte stöder dessa funktioner.

Ett Bloom-filterindex är en utrymmeseffektiv datastruktur som gör att data hoppar över valda kolumner, särskilt för fält som innehåller godtycklig text.

Så här fungerar Bloom-filterindex

Azure Databricks Bloom-filterindex består av ett data som hoppar över index för varje datafil. Bloom-filterindexet kan användas för att fastställa att ett kolumnvärde definitivt inte finns i filen eller att det förmodligen finns i filen. Innan du läser en fil kontrollerar Azure Databricks indexfilen och filen är skrivskyddad om indexet anger att filen kan matcha ett datafilter.

Bloom-filter stöder kolumner med följande indatatyper: byte, short, int, long, float, double, date, och timestampstring. Null-värden läggs inte till i Bloom-filtret, så alla null-relaterade filter kräver att du läser datafilen. Azure Databricks stöder följande datakällafilter: and, or, in, equalsoch equalsnullsafe. Bloom-filter stöds inte i kapslade kolumner.

Konfiguration och referens

Använd följande syntax för att aktivera ett Bloom-filter:

CREATE BLOOMFILTER INDEX
ON TABLE table_name
FOR COLUMNS(column_name OPTIONS (fpp=0.1, numItems=5000))

Syntaxinformation finns i SKAPA BLOOM FILTER INDEX och DROP BLOOM FILTER INDEX.

Om du vill inaktivera Bloom-filteråtgärder ställer du in konfigurationen på sessionsnivå spark.databricks.io.skipping.bloomFilter.enabled till false.

Visa listan över Bloom-filterindex

Om du vill visa listan över index kör du:

spark.table("<table-with-indexes>").schema.foreach(field => println(s"${field.name}: metadata=${field.metadata}"))

Till exempel:

Visa index