CREATE BLOOM FILTER INDEX

Gilt für:durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Erstellt einen Bloom-Filterindex für neue oder umgeschriebene Daten. Erstellt werden keine Bloom-Filter für vorhandene Daten. Der Befehl schlägt fehl, wenn entweder der Tabellenname oder eine der Spalten nicht vorhanden ist. Wenn die Bloom-Filterung für eine Spalte aktiviert ist, werden vorhandene Bloom-Filteroptionen durch die neuen Optionen ersetzt.

Syntax

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

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

Parameter

Auch wenn es nicht möglich ist, einen Bloom-Filterindex für bereits geschriebene Daten zu erstellen, werden mit dem Befehl OPTIMIZE Bloom-Filter für umorganisierte Daten aktualisiert. Daher können Sie einen Bloom-Filter abgleichen, indem Sie OPTIMIZE für eine Tabelle ausführen:

  • Die Tabelle wurde noch nicht optimiert.
  • Eine andere Dateigröße erfordert, dass die Datendateien umgeschrieben werden.
  • Beim Befehl ZORDER (oder einem anderen ZORDER, sofern bereits vorhanden), der ein Umschreiben der Datendateien erfordert.

Sie können den Bloom-Filter optimieren, indem Sie Optionen auf Spalten- oder Tabellenebene definieren:

  • fpp: Falsch positive Wahrscheinlichkeit (False Positive Probability, FPP). Die gewünschte falsch positive Rate pro geschriebenem Bloom-Filter. Diese wirkt sich auf die Anzahl der Bits aus, die erforderlich sind, um ein einzelnes Element in den Bloom-Filter aufzunehmen, und beeinflusst die Größe des Bloom-Filters. Der Wert muss größer als 0 und kleiner als oder gleich 1 sein. Der Standardwert ist 0,1, was 5 Bits pro Element erfordert.
  • numItems: Anzahl unterschiedlicher Elemente, die die Datei enthalten kann. Diese Einstellung ist wichtig für die Qualität der Filterung, da sie die Gesamtanzahl der Bits beeinflusst, die im Bloom-Filter verwendet werden (Anzahl Elemente – Anzahl Bits pro Element). Wenn diese Einstellung nicht richtig ist, wird der Bloom-Filter entweder sehr wenig aufgefüllt, was Speicherplatz auf dem Datenträger verschwendet und Abfragen verlangsamt, die diese Datei herunterladen müssen, oder er ist zu voll und weniger genau (höhere FPP). Der Wert muss größer als 0 sein. Der Standardwert ist 1 Million Elemente.
  • maxExpectedFpp: Die maximale erwartete falsch positive Wahrscheinlichkeit (FPP), bei der ein Bloom-Filter auf den Datenträger geschrieben wird. Wenn die erwartete FPP diesen Schwellenwert überschreitet, ist die Selektivität des Bloom-Filters zu niedrig. Die für den Bloom-Filter aufgewendete Zeit und die Ressourcen übersteigen seine Nützlichkeit. Der Wert muss zwischen 0 und 1 liegen. Der Standardwert ist 1,0 (deaktiviert).

Diese Optionen spielen nur beim Schreiben der Daten eine Rolle. Sie können diese Eigenschaften auf verschiedenen Hierarchieebenen konfigurieren: Schreibvorgang, Tabellenebene und Spaltenebene. Die Spaltenebene hat Vorrang vor der Tabellen- und Vorgangsebene, und die Tabellenebene hat Vorrang vor der Vorgangsebene.

Informationen finden Sie unter Bloom-Filterindizes.