CREACIÓN DE UN ÍNDICE DE FILTROS DE BLOOM

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 no existe el nombre de la tabla o de alguna de las columnas. Si el filtrado de Bloom está habilitado para una columna, las opciones de filtro de Bloom existentes se reemplazan por las nuevas opciones.

Sintaxis

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

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

Parámetros

Aunque no es posible crear un índice de filtro de 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 reposicionar un filtro de Bloom ejecutando OPTIMIZE en una tabla:

  • Si no ha optimizado previamente la tabla.
  • 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 de Bloom definiendo opciones en el nivel de columna o en el nivel de tabla:

  • 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. Puede configurar estas propiedades en varios niveles jerárquicos: operación de escritura, nivel de tabla y nivel de columna. El nivel de columna tiene prioridad sobre los niveles de tabla y operación, y el nivel de tabla tiene prioridad sobre el nivel de operación.

Consulte Índices de filtros de Bloom.