Preguntas más frecuentes sobre eventos de archivo

Encuentre respuestas a las preguntas más frecuentes sobre los eventos de archivo para ubicaciones externas.

¿Qué son los eventos de archivo?

Los eventos de archivo permiten Azure Databricks detectar archivos nuevos o modificados a través de notificaciones en la nube en lugar de examinar repetidamente el almacenamiento. Los eventos de archivo reducen la latencia de ingesta y los costos de enumeración de almacenamiento en la nube y están habilitados de forma predeterminada en nuevas ubicaciones externas.

Diagrama que muestra el proceso de eventos de archivos: un origen de archivos publica archivos en el almacenamiento en la nube del cliente, que publica notificaciones en una suscripción a eventos y una cola. Unity Catalog autoriza el acceso a la nube del servicio administrado de eventos de archivos. El servicio configura la conexión, obtiene eventos de archivos de la cola, almacena los metadatos de archivos en una base de datos y enumera objetos para los consumidores de Auto Loader y Triggers.

¿Cómo funcionan los eventos de archivo?

Al habilitar eventos de archivo en modo Automatic, Azure Databricks configura la cuenta de almacenamiento para enviar notificaciones de cambio de archivos mediante Azure Event Grid y colas de Azure Storage. El servicio de eventos de archivo de Azure Databricks lee los metadatos de la ruta de los archivos desde la cola para detectar archivos nuevos y modificados. Como red de seguridad, el servicio también realiza listas periódicas de directorios completos para comprobar que no se pierden archivos.

La infraestructura de notificaciones nunca transmite el contenido del archivo.

¿Qué características de Azure Databricks usan eventos de archivos?

Las siguientes características usan eventos de archivo cuando se habilitan en una ubicación externa:

  • Cargador automático: detecta nuevos archivos para la ingesta incremental sin listas de directorios costosas. A partir de Databricks Runtime 18.1 y versiones posteriores, Auto Loader usa automáticamente eventos de archivo cuando están disponibles (useManagedFileEvents = if_available).
  • Desencadenadores de llegada de archivos: inicie automáticamente el trabajo cuando lleguen nuevos archivos, lo que proporciona un mejor uso de recursos y rentabilidad porque el clúster se ejecuta solo cuando hay nuevos archivos que procesar. Los desencadenadores de llegada de archivos son significativamente más escalables con eventos de archivo habilitados. Ver Activar trabajos cuando lleguen nuevos archivos.
  • Desencadenadores por actualización de tablas: Inicie automáticamente su trabajo a partir de las actualizaciones de una tabla. Los desencadenadores de actualización de tablas son significativamente más escalables con eventos de archivo habilitados. Consulte Activar trabajos cuando se actualizan las tablas de origen.

¿Cómo puedo habilitar los eventos de archivo en mis canalizaciones y trabajos?

En primer lugar, habilite los eventos de archivo para la ubicación externa. Consulte Configuración de eventos de archivo para una ubicación externa.

Si usa eventos de archivo con desencadenadores de llegada de archivos o de actualización de tablas, no es necesario realizar ninguna acción adicional. El trabajo se beneficia automáticamente de los eventos de archivo.

Además, si usa Auto Loader con Databricks Runtime 18.1 o superior, no es necesario realizar ninguna acción adicional. La canalización se beneficia automáticamente de los eventos de archivo. Si usa una versión anterior del entorno de ejecución, habilite los eventos de archivos en la canalización:

spark.readStream.option("cloudFiles.useManagedFileEvents", "true")...

¿Qué pasa si actualmente no estoy usando Auto Loader ni activadores?

Puede desactivar los eventos de archivo en cualquier momento y Azure Databricks limpia por usted los recursos de notificación. Databricks recomienda mantener habilitados los eventos de archivo.

¿Puedo desactivar los eventos de archivo?

Azure Databricks permite eventos de archivo de forma predeterminada para nuevas ubicaciones externas, ya que reducen los costos y mejoran el rendimiento de las cargas de trabajo de ingesta.

Para crear una ubicación externa sin eventos de archivo:

Explorador de catálogos

  1. En el Explorador de catálogos, empiece a crear una nueva ubicación externa.
  2. Si la credencial de almacenamiento no tiene permisos de eventos de archivo, verá una advertencia de validación. Haga clic en Forzar creación para continuar.
  3. Después de la creación, compruebe que los eventos de archivo están desactivados seleccionando la ubicación y desactivando la configuración de eventos de archivo.

API

Establezca enable_file_events en false en la solicitud para crear una ubicación externa.

Para deshabilitar eventos de archivo en una ubicación externa existente, consulte Configuración de eventos de archivo para una ubicación externa.

Recursos adicionales