Optimización predictiva para las tablas administradas de Unity Catalog

Nota:

Para todas las cuentas creadas después del 11 de noviembre de 2024, Databricks habilita la optimización predictiva de forma predeterminada.

La optimización predictiva elimina la necesidad de administrar manualmente las operaciones de mantenimiento de las tablas administradas por Unity Catalog en Azure Databricks.

Con la optimización predictiva habilitada, Azure Databricks identifica automáticamente las tablas que se beneficiarían de las operaciones de mantenimiento y las ejecuta por el usuario. Las operaciones de mantenimiento solo se ejecutan según es necesario, lo que elimina las ejecuciones innecesarias de operaciones de mantenimiento y la carga asociada al seguimiento y la solución de problemas de rendimiento.

Importante

La optimización predictiva solo se ejecuta en tablas administradas por el catálogo de Unity.

La optimización predictiva no se ejecuta en tablas de streaming ni vistas materializadas creadas en Databricks SQL o mediante canalizaciones de Delta Live Tables.

¿Qué operaciones ejecuta la optimización predictiva?

La optimización predictiva ejecuta automáticamente las siguientes operaciones para las tablas habilitadas:

Operación Descripción
OPTIMIZE(1) Desencadena la agrupación en clústeres incrementales para tablas habilitadas. Consulte Uso de clústeres líquidos para tablas Delta.

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 Eliminación de archivos de datos sin usar con vacío.
ANALYZE(2) Desencadena la actualización incremental de las estadísticas para mejorar el rendimiento de las consultas.

(1) OPTIMIZE no se ejecuta cuando se ejecuta ZORDER con optimización predictiva.

(2) La optimización predictiva con ANALYZE está en versión preliminar pública. Incluye la colección stastistics inteligente durante las escrituras. Use este formulario para registrarse en la versión preliminar pública. Durante la versión preliminar pública inicial, ANALYZE los comandos se pueden ejecutar en tablas con hasta 1 TB de datos y 500 columnas o menos.

Advertencia

El período de retención del comando VACUUM viene determinado por la propiedad de tabla delta.deletedFileRetentionDuration, que tiene como valor predeterminado 7 días. Esto significa que VACUUM quita los archivos de datos a los que ya no ha hecho referencia una versión de la tabla Delta en los últimos 7 días. Si desea conservar los datos durante más tiempo (por ejemplo, para viajes en el tiempo de más duración), debe establecer esta propiedad de tabla correctamente antes de habilitar la optimización predictiva, como en el ejemplo siguiente:

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

¿Dónde se ejecuta la optimización predictiva?

La optimización predictiva identifica las tablas que se beneficiarían de ANALYZElas operaciones , OPTIMIZEy VACUUM las pone en cola para ejecutarse mediante el proceso sin servidor para los trabajos. A su cuenta se le factura el proceso asociado a estas cargas de trabajo con una SKU específica de Databricks Managed Services. Consulte los precios de Databricks Managed Services. Azure Databricks proporciona tablas del sistema para tener observabilidad sobre las operaciones, los costos y los efectos de la optimización predictiva. Consulte Uso de tablas del sistema para hacer un seguimiento de la optimización predictiva.

Requisitos previos de la optimización predictiva

Debe cumplir los siguientes requisitos para habilitar la optimización predictiva:

  • El área de trabajo de Azure Databricks debe estar en el plan premium en una región que admita la optimización predictiva. Consultar Regiones de Azure Databricks.

  • Debe usar almacenes de SQL o Databricks Runtime 12.2 LTS o una versión posterior cuando habilite la optimización predictiva.

  • Solo se admiten tablas administradas por Unity Catalog.

  • Si necesita conectividad privada para las cuentas de almacenamiento, debe configurar la conectividad privada sin servidor. Consulte Configuración de la conectividad privada desde un proceso sin servidor.

Habilitación de la optimización predictiva

Debe habilitar la optimización predictiva en el nivel de cuenta.

Nota:

Si la cuenta se creó después del 11 de noviembre de 2024, la optimización predictiva está habilitada de forma predeterminada.

Debe tener los siguientes privilegios para habilitar o deshabilitar la optimización predictiva en el nivel especificado:

Objeto de Unity Catalog Privilegio
Cuenta Administrador de cuentas
Catálogo Propietario del catálogo
Esquema Propietario del esquema

Nota:

Al habilitar la optimización predictiva por primera vez, Azure Databricks crea automáticamente una entidad de servicio en la cuenta de Azure Databricks. Azure Databricks usa esta entidad de servicio para realizar las operaciones de mantenimiento solicitadas. Consulte: Administración de entidades de servicio.

Habilitación de la optimización predictiva para su cuenta

Un administrador de cuenta debe realizar los siguientes pasos para habilitar la optimización predictiva para todos los metastores de una cuenta:

  1. Acceder a la consola de cuentas.
  2. Ir a Configuración, Habilitación de característica.
  3. Seleccionar Habilitado junto a Optimización predictiva.

Nota:

Los metastores de regiones donde no se admite la optimización predictiva no están habilitados.

Habilitación o deshabilitación de la optimización predictiva para un catálogo o esquema

La optimización predictiva usa un modelo de herencia. Cuando se habilita para un catálogo, los esquemas heredan la propiedad. Las tablas de un esquema habilitado heredan la optimización predictiva. Para invalidar este comportamiento de herencia, puede deshabilitar explícitamente la optimización predictiva para un catálogo o esquema.

Nota:

Puede deshabilitar la optimización predictiva en el nivel de catálogo o esquema antes de habilitarla en el nivel de cuenta. Si la optimización predictiva se habilita más adelante en la cuenta, se bloquea para las tablas de estos objetos.

Utilice la siguiente sintaxis para habilitar o deshabilitar la optimización predictiva:

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

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

El campo Predictive Optimization es una propiedad de Unity Catalog que detalla si la optimización predictiva está habilitada. Si la optimización predictiva se hereda de un objeto primario, se indica en el valor del campo.

Importante

Debe habilitar la optimización predictiva en el nivel de cuenta para ver este campo.

Utilice la siguiente sintaxis para ver si la optimización predictiva está habilitada:

DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name

Uso de tablas del sistema para hacer un seguimiento de la optimización predictiva

Azure Databricks proporciona una tabla del sistema para hacer un seguimiento del historial de operaciones de optimización predictiva. Consulte Referencia de la tabla del sistema de optimización predictiva.

Si la tabla del sistema marca las operaciones como con errores con FAILED: PRIVATE_LINK_SETUP_ERROR, es posible que no haya configurado correctamente el vínculo privado para el proceso sin servidor. Consulte Configuración de la conectividad privada desde un proceso sin servidor.

Limitaciones

La optimización predictiva no está disponible en todas las regiones. Consultar Regiones de Azure Databricks.

La optimización predictiva no ejecuta comandos OPTIMIZE en tablas que usen el orden z.

La optimización predictiva no ejecuta operaciones VACUUM en tablas con una ventana de retención de archivos configurada debajo del valor predeterminado de 7 días. Vea Configuración de la retención de datos para las consultas de viaje en el tiempo.

La optimización predictiva no realiza operaciones de mantenimiento en las siguientes tablas: