CREATE BLOOM FILTER INDEX

Si applica a:check contrassegnato con sì controllo SQL di Databricks contrassegnato con sì Databricks Runtime

Crea un indice di filtro Bloom per i dati nuovi o riscritti; non crea filtri Bloom per i dati esistenti. Il comando ha esito negativo se il nome della tabella o una delle colonne non esiste. Se il filtro Bloom è abilitato per una colonna, le opzioni di filtro Bloom esistenti vengono sostituite dalle nuove opzioni.

Sintassi

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

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

Parametri

Anche se non è possibile compilare un indice di filtro Bloom per i dati già scritti, il comando OPTIMIZE aggiorna i filtri Bloom per i dati riorganizzati. Pertanto, è possibile riempire un filtro Bloom eseguendo OPTIMIZE su una tabella:

  • Se la tabella non è stata ottimizzata in precedenza.
  • Con dimensioni del file diverse, che richiedono la riscrizione dei file di dati.
  • Con un ZORDER oggetto (o un valore diverso ZORDER, se ne è già presente uno), richiedendo che i file di dati vengano riscritto.

È possibile ottimizzare il filtro Bloom definendo le opzioni a livello di colonna o a livello di tabella:

  • fpp: probabilità falsa positiva. Tasso di falsi positivi desiderato per filtro Bloom scritto. Ciò influenza il numero di bit necessari per inserire un singolo elemento nel filtro Bloom e influenza le dimensioni del filtro Bloom. Il valore deve essere maggiore di 0 e minore o uguale a 1. Il valore predefinito è 0,1 che richiede 5 bit per elemento.
  • numItems: numero di elementi distinti che il file può contenere. Questa impostazione è importante per la qualità del filtro perché influenza il numero totale di bit usati nel filtro Bloom (numero di elementi - numero di bit per elemento). Se questa impostazione non è corretta, il filtro Bloom viene popolato in modo molto sparse, sprecare spazio su disco e rallentare le query che devono scaricare il file oppure è troppo pieno ed è meno accurato (FPP superiore). Il valore deve essere maggiore di 0. Il valore predefinito è 1 milione di elementi.
  • maxExpectedFpp: probabilità massima di falsi positivi previsti in corrispondenza della quale viene scritto un filtro Bloom su disco. Se il FPP previsto è maggiore di questa soglia, la selettività del filtro Bloom è troppo bassa; il tempo e le risorse necessari per usare il filtro Bloom superano la sua utilità. Il valore deve essere compreso tra 0 e 1. Il valore predefinito è 1.0 (disabilitato).

Queste opzioni svolgono un ruolo solo quando si scrivono i dati. È possibile configurare queste proprietà a vari livelli gerarchici: operazione di scrittura, livello di tabella e livello di colonna. Il livello di colonna ha la precedenza sui livelli di tabella e operazione e il livello di tabella ha la precedenza sul livello di operazione.

Vedere Indici di filtro Bloom.