CREATE BLOOM FILTER INDEX
Si applica a: Databricks SQL 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 table o uno dei columns non esiste. Se il filtro Bloom è abilitato per un column, 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 } [, ...] )
Parameters
-
Identifica un Delta tableesistente. Il nome non deve includere una specifica temporale o una specifica delle opzioni.
Anche se non è possibile creare un indice di filtro Bloom per i dati già scritti, il comando OPTIMIZE aggiorna i filtri Bloom per i dati riorganizzati. Pertanto, è possibile completare un filtro Bloom eseguendo OPTIMIZE
in un table:
- Se il tablenon è stato ottimizzato in precedenza.
- Con dimensioni di file diverse, richiedendo che i file di dati vengano riscritto.
- Con un oggetto (o un oggetto diverso, se ne è già presente uno), richiedendo che i file di dati vengano riscritto.With a
ZORDER
(or a differentZORDER
, if one is already present), richiedendo che i file di dati vengano riscritto.
È possibile ottimizzare il filtro Bloom definendo le opzioni a livello di column o a livello di table:
-
fpp
: probabilità falso positivo. 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à false positiva massima prevista 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 necessarie 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 table e livello column. Il livello di column ha la precedenza sui livelli di table e operazioni e il livello di table ha la precedenza sul livello di operazione.
Vedere Indici di filtro Bloom.