Optimización predictiva para Delta Lake

Importante

Esta característica está en versión preliminar pública.

La optimización predictiva elimina la necesidad de administrar manualmente las operaciones de mantenimiento de las tablas Delta 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.

¿Qué operaciones ejecuta la optimización predictiva?

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

Operación Descripción
OPTIMIZE Mejora el rendimiento de las consultas porque optimiza el tamaño de los archivos. Consulte Compactar archivos de datos con optimización en Delta Lake.
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.

Nota:

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

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 las operaciones OPTIMIZE y VACUUM, y las pone en cola para ejecutarlas con Proceso de 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.

Nota:

La optimización predictiva no ejecuta comandos OPTIMIZE en tablas que usen clústeres líquidos.

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.

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.

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.

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 clústeres líquidos o el orden Z.

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