Dela via


Bloom-filterindex

Not

När du använder beräkning med Photon-aktivering och Databricks Runtime 12.2 eller senare överträffar prediktiv I/O bloomfilter för läsprestanda. Se även 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änd 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-filterindexen består av en datahoppande 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 i filen. Innan en fil läses, kontrollerar Azure Databricks indexfilen, och filen läses endast om indexet indikerar att filen kan matcha ett datafilter.

Bloom-filter stöder kolumner med följande indatatyper: byte, short, int, long, float, double, date, timestampoch string. 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 CREATE BLOOM FILTER INDEX och DROP BLOOM FILTER INDEX.

Om du vill inaktivera Bloom-filteråtgärder anger du 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