Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota:
Cuando se utiliza cálculo habilitado para Photon y Databricks Runtime 12.2 o superior, el rendimiento de E/S predictivo supera a los filtros Bloom en el rendimiento de lectura. Consulte ¿Qué es la E/S predictiva?.
Tanto en Databricks Runtime 13.3 como en las versiones posteriores, Databricks recomienda usar la agrupación en clústeres para el diseño de tabla Delta. Consulte Uso de clústeres líquidos para tablas.
Databricks solo recomienda usar filtros Bloom al usar recursos de cálculo que no admiten estas funcionalidades.
Un índice de filtro Bloom es una estructura de datos eficiente en el espacio que permite omitir datos en columnas elegidas, especialmente para los campos que contienen texto arbitrario.
Funcionamiento de los índices de filtro Bloom
Los índices de filtro de Bloom de Azure Databricks constan de un índice de omisión de datos para cada archivo de datos. El índice de filtro bloom se puede usar para determinar que un valor de columna no está definitivamente en el archivo o que probablemente esté en el archivo. Antes de leer un archivo, Azure Databricks comprueba el archivo de índice y el archivo solo se lee si el índice indica que el archivo podría coincidir con un filtro de datos.
Los filtros bloom admiten columnas con los siguientes tipos de datos de entrada: byte
, short
int
, long
, float
, double
, date
timestamp
y string
. Los valores NULL no se agregan al filtro Bloom, por lo que cualquier filtro relacionado con NULL requiere leer el archivo de datos. Azure Databricks admite los siguientes filtros de origen de datos: and
, or
, in
, equals
y equalsnullsafe
. Los filtros bloom no se admiten en columnas anidadas.
Configuración y referencia
Use la sintaxis siguiente para habilitar un filtro bloom:
CREATE BLOOMFILTER INDEX
ON TABLE table_name
FOR COLUMNS(column_name OPTIONS (fpp=0.1, numItems=5000))
Para obtener más información sobre la sintaxis, vea CREATE BLOOM FILTER INDEX y DROP BLOOM FILTER INDEX.
Para deshabilitar las operaciones del filtro Bloom, establezca la configuración de nivel de sesión en spark.databricks.io.skipping.bloomFilter.enabled
.
Mostrar la lista de índices de filtro Bloom
Para mostrar la lista de índices, ejecute:
spark.table("<table-with-indexes>").schema.foreach(field => println(s"${field.name}: metadata=${field.metadata}"))
Por ejemplo: