Condividi tramite


CREATE BLOOM FILTER INDEX

Si applica a:segno di spunta sì Databricks SQL segno di spunta 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 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

  • table_name

    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 different ZORDER, 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.