Optimización predictiva para tablas administradas del catálogo de Unity

La optimización predictiva ejecuta automáticamente OPTIMIZE, VACUUM y ANALYZE en tablas administradas por Unity Catalog (Delta Lake e Iceberg) en Azure Databricks, lo que elimina el mantenimiento manual y el tiempo dedicado a hacer seguimiento de los problemas de rendimiento.

Nota

La optimización predictiva está habilitada de forma predeterminada para las cuentas creadas el 11 de noviembre de 2024 o después. Databricks habilita las cuentas existentes con una implementación gradual. Se espera que este lanzamiento se complete en agosto de 2026. Para comprobar si la cuenta ya está habilitada, consulte Comprobación de si la optimización predictiva está habilitada.

Con la optimización predictiva habilitada, Databricks realiza automáticamente lo siguiente:

  • Identifica las tablas que se beneficiarían de operaciones de mantenimiento y las pone en cola para su ejecución.
  • Recopila estadísticas cuando los datos se escriben en una tabla administrada.

Esto elimina las ejecuciones de mantenimiento innecesarias y la carga del seguimiento y la solución de problemas del rendimiento manualmente.

Databricks recomienda la optimización predictiva para todas las tablas administradas de Unity Catalog. Por ejemplo, la agrupación automática en clústeres líquidos usa la optimización inteligente del diseño de datos en función de los patrones de uso de datos. Consulte Uso de clústeres líquidos para tablas.

¿Qué operaciones ejecuta la optimización predictiva?

La optimización predictiva ejecuta las siguientes operaciones en tablas administradas de Unity Catalog:

Operación Descripción
OPTIMIZE Desencadena la agrupación en clústeres incrementales para tablas habilitadas. Consulte Uso de clústeres líquidos para tablas. Mejora el rendimiento de las consultas porque optimiza el tamaño de los archivos. Consulte Optimización del diseño del archivo de datos.
VACUUM Reduce los costos de almacenamiento porque elimina los archivos de datos a los que ya no hace referencia la tabla. Consulte Eliminar archivos de datos sin usar con el comando vacuum.
ANALYZE Examina la tabla y recopila estadísticas para mejorar el rendimiento de las consultas. Ver ANALYZE TABLE ... ESTADÍSTICAS DE PROCESO. Para quitar las estadísticas recopiladas por optimización predictiva, consulte ANALYZE TABLE ... DROP STATISTICS.

Nota

OPTIMIZE no se ejecuta ZORDER cuando se ejecuta mediante la optimización predictiva. En las tablas que usan el orden Z, la optimización predictiva omite los archivos ordenados por Z.

Si la agrupación automática en clústeres líquidos está habilitada, la optimización predictiva puede seleccionar nuevas claves de agrupación en clústeres antes de agrupar datos en clústeres. Consulte Agrupación automática de líquidos.

Advertencia

La ventana de retención de VACUUM viene determinada por la delta.deletedFileRetentionDuration propiedad table, que tiene como valor predeterminado 7 días. VACUUM quita los archivos de datos a los que ya no hace referencia una versión de tabla Delta dentro de esa ventana. Para conservar los datos durante más tiempo (por ejemplo, para admitir viajes prolongados), establezca esta propiedad antes de habilitar la optimización predictiva:

ALTER TABLE table_name SET TBLPROPERTIES ('delta.deletedFileRetentionDuration' = '30 days');

Cómputo y facturación

La optimización predictiva ejecuta las operaciones ANALYZE, OPTIMIZE y VACUUM utilizando recursos de proceso sin servidor para los trabajos. Este uso de recursos de proceso se factura a su cuenta mediante una SKU de trabajos sin servidor.

Consulte los precios de los servicios administrados de Databricks. Consulte Seguimiento de la optimización predictiva con tablas del sistema.

Prerrequisitos

Se deben cumplir los siguientes requisitos para usar la optimización predictiva:

  • El área de trabajo de Azure Databricks debe estar en el plan Premium de una región admitida.
  • Debe usar almacenes de SQL o Databricks Runtime 12.2 LTS o versiones posteriores.
  • Solo se admiten tablas administradas por Unity Catalog.

Habilitar optimización predictiva

Puede habilitar la optimización predictiva para una cuenta, un catálogo, un esquema o una tabla. Todas las tablas administradas del catálogo de Unity heredan el valor de la cuenta de forma predeterminada. Puede invalidar el valor predeterminado de la cuenta en el nivel de catálogo, esquema o tabla.

Debe tener los siguientes privilegios para habilitar o deshabilitar la optimización predictiva:

Objeto de Unity Catalog Privilegio
Cuenta Administrador de la cuenta
Catálogo Propietario del catálogo o un usuario con MANAGE privilegios en el catálogo
Esquema Propietario del esquema o un usuario con MANAGE privilegios en el esquema
Tabla Propietario de la tabla o usuario con MANAGE privilegios en la tabla

Habilitar o deshabilitar la optimización predictiva para la cuenta

Un administrador de cuenta puede habilitar la optimización predictiva para todos los metastores de una cuenta. Los catálogos y esquemas heredan esta configuración de forma predeterminada, pero puede invalidarlo en cualquier nivel.

  1. Vaya a la consola de cuentas.
  2. Vaya a Configuración y, a continuación, habilitación de características.
  3. Seleccione la opción que desea (por ejemplo, Habilitado) junto a Optimización predictiva.

Nota

  • Los metastores de regiones que no admiten la optimización predictiva no están habilitados.
  • Deshabilitar la optimización predictiva en el nivel de cuenta no la deshabilita para catálogos o esquemas que lo han habilitado específicamente.

Habilitar o deshabilitar la optimización predictiva para un catálogo, un esquema o una tabla

La optimización predictiva usa un modelo de herencia. Cuando se habilita para un catálogo, los esquemas de ese catálogo heredan la configuración y las tablas de un esquema habilitado también lo heredan. Puede habilitar o deshabilitar explícitamente la optimización predictiva de un catálogo, un esquema o una tabla para invalidar este comportamiento.

Nota

Puede deshabilitar la optimización predictiva en el nivel de catálogo, esquema o tabla antes de habilitarla en el nivel de cuenta. Si la optimización predictiva se habilita más adelante en el nivel de cuenta, permanece bloqueada para los objetos que lo han deshabilitado específicamente.

Use la sintaxis siguiente para habilitar, deshabilitar o restablecer la optimización predictiva para heredar del objeto primario:

ALTER CATALOG [catalog_name] { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
ALTER { SCHEMA | DATABASE } schema_name { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
ALTER TABLE table_name { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;

Consulte ALTER TABLE.

Comprobación de si la optimización predictiva está habilitada

El Predictive Optimization campo es una propiedad catalog de Unity que muestra si la optimización predictiva está habilitada. Si la configuración se hereda de un objeto primario, el valor de campo indica esto.

Use la sintaxis siguiente para comprobar el estado:

DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name

Compruebe por qué la optimización predictiva omitió una tabla

En Databricks Runtime 18 y versiones posteriores, después de que la optimización predictiva evalúe una tabla administrada, use la pestaña Historial del Explorador de catálogos para ver por qué se omitió una operación. Los resultados pueden tardar hasta 24 horas en aparecer.

Uso de la pestaña historial en el Explorador de catálogos

Puede ver los motivos de omisión en la pestaña Historial de una tabla en el Explorador de catálogos. En la columna Operación , la etiqueta Auto indica la operación ejecutada y la etiqueta No aplicada indica que se omitió la operación. La etiqueta Auto incluye optimización predictiva y otras operaciones automáticas, como la compactación automática de streaming.

Para ver el motivo de omisión, haga clic en una fila con la etiqueta No aplicada en la columna Operación .

Pestaña Historial de Catalog Explorer que muestra los motivos por los que se omite la optimización predictiva

En la tabla siguiente se describen los tipos de operación automática que se muestran en el Explorador de catálogos:

Operación del Explorador de catálogos Descripción
OPTIMIZE Compactación de archivos para mejorar el rendimiento de las consultas o clústeres líquidos incrementales
AUTO LIQUID Evaluación o evolución de las claves de agrupación en clústeres líquidos
VACUUM Eliminación de archivos de datos a los que ya no hace referencia la tabla

Seguimiento de la optimización predictiva con tablas del sistema

Databricks proporciona la tabla system.storage.predictive_optimization_operations_history del sistema para observar las operaciones de optimización predictiva, los costos y el impacto. Consulte Referencia de la tabla del sistema de optimización predictiva.

Si la tabla del sistema marca las operaciones como erróneas con FAILED: PRIVATE_LINK_SETUP_ERROR, es posible que el vínculo privado sin servidor no esté configurado correctamente. Consulte Configuración de la conectividad privada a los recursos de Azure.

Limitaciones

La optimización predictiva no se ejecuta en los siguientes tipos de tabla:

  • Tablas cargadas en un espacio de trabajo como destinatarios de OpenSharing
  • Tablas externas