Compartir vía


¿Qué es la E/S predictiva?

La E/S predictiva es un conjunto de optimizaciones de Azure Databricks que mejoran el rendimiento de las interacciones de datos. Las funciones de E/S predictiva se agrupan en las siguientes categorías:

  • Las lecturas aceleradas reducen el tiempo que se tarda en escanear y leer los datos.
  • Las actualizaciones aceleradas reducen la cantidad de datos que deben reescribirse durante las actualizaciones, eliminaciones y fusiones.

La E/S predictiva es exclusiva del motor Photon en Azure Databricks.

Utilizar la E/S predictiva para acelerar las lecturas

La E/S predictiva se utiliza para acelerar el rendimiento de la exploración y el filtrado de datos para todas las operaciones en los tipos de proceso compatibles.

Importante

Las lecturas de E/S predictivas son compatibles con los tipos sin servidor y pro de almacenes de SQL, y los clústeres acelerados por Photon que ejecutan Databricks Runtime 11.3 LTS y versiones posteriores.

La E/S predictiva mejora el rendimiento de la exploración aplicando técnicas de aprendizaje profundo para hacer lo siguiente:

  • Determinar el patrón de acceso más eficaz para leer los datos y examinar solo los datos que realmente se necesitan.
  • Eliminar la descodificación de columnas y filas que no son necesarias para generar los resultados de la consulta.
  • Calcular las probabilidades de los criterios de búsqueda en consultas selectivas que coincidan con una fila. A medida que se ejecutan las consultas, usamos estas probabilidades para anticipar dónde se produciría la siguiente fila coincidente y solo leer esos datos del almacenamiento en la nube.

Utilizar la E/S predictiva para acelerar las actualizaciones

Las actualizaciones predictivas de E/S se utilizan automáticamente para todas las tablas que tienen vectores de borrado activados usando los siguientes tipos de computación habilitados para Photon:

  • Almacenes de SQL sin servidor.
  • Almacenes Pro SQL.
  • Clústeres que ejecutan Databricks Runtime 14.0 y versiones posteriores.

Nota:

La compatibilidad con E/S predictiva para actualizaciones está presente en Databricks Runtime 12.2 LTS y versiones posteriores, pero Databricks recomienda usar 14.0 y versiones posteriores para mejorar el rendimiento.

Consulte ¿Qué son los vectores de eliminación?.

Importante

Una configuración de administrador del área de trabajo controla si los vectores de eliminación están habilitados automáticamente para las nuevas tablas Delta. Vea Habilitación automática de vectores de eliminación.

Para habilitar los vectores de eliminación en una tabla Delta Lake, configure una propiedad de tabla Delta Lake. Puede habilitar vectores de eliminación durante la creación de tablas o modificar una tabla existente, como en los ejemplos siguientes:

CREATE TABLE <table-name> [options] TBLPROPERTIES ('delta.enableDeletionVectors' = true);

ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);

Advertencia

Al habilitar los vectores de borrado, se actualiza la versión del protocolo de la tabla. Después de la actualización, la tabla no se podrá leer por clientes Delta Lake que no soporten vectores de eliminación. Consulte ¿Cómo administra Azure Databricks la compatibilidad de características de Delta Lake?.

Para obtener una lista de clientes que admiten vectores de eliminación, consulte Compatibilidad con clientes Delta.

Tanto Databricks Runtime 14.1 como en las versiones posteriores puede eliminar la característica de tabla de vectores de eliminación para habilitar la compatibilidad con otros clientes Delta. Consulte Eliminación de características de una tabla Delta.

La E/S predictiva aprovecha los vectores de eliminación para acelerar las actualizaciones reduciendo la frecuencia de reescritura de archivos completos durante la modificación de datos en tablas Delta. La E/S predictiva optimiza las operaciones DELETE, MERGE y UPDATE.

En lugar de reescribir todos los registros de un archivo de datos cuando se actualiza o elimina cualquier registro, la E/S predictiva utiliza vectores de eliminación para indicar que los registros se han eliminado de los archivos de datos de destino. Los archivos de datos complementarios se utilizan para indicar las actualizaciones.

Las lecturas posteriores en la tabla resuelven el estado actual de la tabla aplicando los cambios indicados a la versión más reciente de la tabla.

Importante

Las actualizaciones de E/S predictivas comparten todas las limitaciones con los vectores de eliminación. En Databricks Runtime 12.2 LTS y versiones posteriores, existen las siguientes limitaciones:

  • La compartición delta no se admite en tablas con vectores de borrado activados.
  • No se puede generar un archivo de manifiesto para una tabla con vectores de eliminación presentes. Ejecute REORG TABLE ... APPLY (PURGE)y asegúrese de que no se están ejecutando operaciones de escritura simultáneas para generar un manifiesto.
  • No se puede generar incrementalmente archivos de manifiesto para una tabla con vectores de eliminación activados.