Compartir a través de


CREATE BLOOM FILTER INDEX

Se aplica a:casilla marcada como Sí Databricks SQL casilla marcada como Sí Databricks Runtime

Crea un índice de filtros de Bloom para datos nuevos o reescritos; no crea filtros de Bloom para datos existentes. Se produce un error en el comando si el nombre del table o uno de los columns no existe. Si el filtrado de Bloom está habilitado para una column, las opciones de filtro de Bloom existentes se reemplazan por las nuevas opciones de filtro de Bloom.

Sintaxis

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

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

Parameters

  • table_name

    Identifica un Delta tableexistente. El nombre no debe incluir una especificación temporal ni una especificación de opciones.

Aunque no es posible crear un índice de filtro Bloom para los datos que ya están escritos, el comando OPTIMIZE actualiza los filtros de Bloom para los datos que se reorganizan. Por lo tanto, puede rerrellenar un filtro Bloom ejecutando OPTIMIZE en un table:

  • Si no has optimizado previamente table.
  • Con un tamaño de archivo diferente, que requiere que se vuelvan a escribir los archivos de datos.
  • Con un valor ZORDER (o un valor ZORDER diferente, si ya hay uno), que requiere que se vuelvan a escribir los archivos de datos.

Puede ajustar el filtro Bloom definiendo opciones en el nivel de column o en el nivel de table:

  • fpp: probabilidad de falsos positivos. Tasa de falsos positivos deseada por filtro de Bloom escrito. Esto influye en el número de bits necesarios para colocar un solo elemento en el filtro de Bloom y también influye en el tamaño del filtro de Bloom. El valor debe ser superior a 0 e inferior o igual a 1. El valor predeterminado es 0,1, que requiere 5 bits por elemento.
  • numItems: número de elementos distintos que puede contener el archivo. Esta configuración es importante para la calidad del filtrado, ya que influye en el número total de bits usados en el filtro de Bloom (número de elementos - número de bits por elemento). Si esta configuración es incorrecta, el filtro de Bloom se rellena de forma muy dispersa (de modo que se desperdicia espacio en disco y se ralentizan las consultas que deben descargar este archivo) o está demasiado lleno y es menos preciso (mayor probabilidad de falsos positivos). El valor de debe ser mayor que 0. El valor predeterminado es 1 millón de elementos.
  • maxExpectedFpp: probabilidad máxima de falsos positivos esperada en la que se escribe en disco un filtro de Bloom. Si la probabilidad de falsos positivos esperada es mayor que este umbral, la selectividad del filtro de Bloom es demasiado baja. El tiempo y los recursos necesarios para usar el filtro de Bloom superan su utilidad. El valor debe estar entre 0 y 1. El valor predeterminado es 1,0 (deshabilitado).

Estas opciones solo desempeñan un papel al escribir los datos. Puedes configurar estas propiedades en varios niveles jerárquicos: escritura, nivel de table y nivel de column. El nivel de column tiene prioridad sobre los niveles de table y operación, y el nivel de table tiene prioridad sobre el nivel de operación.

Consulte Índices de filtros de Bloom.