Compartir a través de


¿Qué es el cargador automático?

El cargador automático procesa de forma incremental y eficaz nuevos archivos de datos a medida que llegan al almacenamiento en la nube sin necesidad de configuración adicional.

¿Cómo funciona Auto Loader?

El cargador automático procesa de forma incremental y eficaz nuevos archivos de datos a medida que llegan al almacenamiento en la nube. Proporciona un origen de flujo estructurado denominado cloudFiles. Dada una ruta de acceso del directorio de entrada en el almacenamiento de archivos en la nube, el origen cloudFiles procesa automáticamente los nuevos archivos a medida que llegan, con la opción de procesar también los archivos existentes en ese directorio. Auto Loader ofrece soporte tanto para Python como para SQL en las canalizaciones declarativas de Lakeflow.

Puede usar Auto Loader para procesar miles de millones de archivos para migrar a una tabla o reponer una. Auto Loader se escala para admitir la ingesta casi en tiempo real de millones de archivos por hora.

Orígenes admitidos del cargador automático

El cargador automático puede cargar archivos de datos desde los orígenes siguientes:

  • Amazon S3 (s3://)

  • Azure Data Lake Storage (ADLS, abfss://)

  • Google Cloud Storage (GCS, gs://)

  • Azure Blob Storage (wasbs://)

    Nota:

    El controlador heredado para Windows de Azure Storage Blob (WASB) está en desuso. ABFS tiene numerosas ventajas sobre WASB. Consulte la documentación de Azure sobre ABFS. Para obtener documentación sobre el uso del controlador heredado WASB, consulte Conexión a Azure Blob Storage con WASB (heredado).

  • Sistema de archivos de Databricks (DBFS, dbfs:/).

El cargador automático puede ingerir los formatos de archivo JSON, CSV, XML, PARQUET, AVRO, ORC, TEXT y BINARYFILE.

¿Cómo realiza Auto Loader el seguimiento del progreso de la ingesta?

A medida que se detectan los archivos, sus metadatos se conservan en un almacén de clave-valor escalable (RocksDB) en la ubicación del punto de control de la canalización del cargador automático. Este almacén de clave-valor garantiza que los datos se procesan exactamente una vez.

En caso de errores, el cargador automático puede reanudarse desde donde lo dejó mediante la información almacenada en la ubicación del punto de control y seguir proporcionando garantías de que los datos se procesan exactamente una vez al escribirlos en Delta Lake. No es necesario que mantengas ni gestiones ningún estado por tu cuenta para lograr tolerancia a errores o semántica de exactamente una vez.

Ingesta incremental mediante Auto Loader con canalizaciones declarativas de Lakeflow

Databricks recomienda Auto Loader en las canalizaciones declarativas de Lakeflow para la ingesta incremental de datos. Las canalizaciones declarativas de Lakeflow amplían la funcionalidad en Apache Spark Structured Streaming y le permiten escribir solo unas pocas líneas de Python declarativo o SQL para implementar una canalización de datos de calidad de producción con:

No es necesario proporcionar un esquema o una ubicación de punto de control porque Lakeflow Declarative Pipelines administra automáticamente esta configuración para las canalizaciones. Consulte Carga de datos con canalizaciones declarativas de Lakeflow.

Databricks también recomienda Auto Loader siempre que use Apache Spark Structured Streaming para ingerir datos del almacenamiento de objetos en la nube. Las API están disponibles en Python y Scala.

Introducción a Databricks Auto Loader

Consulte los siguientes artículos para empezar a configurar la ingesta de datos incrementales mediante Auto Loader con canalizaciones declarativas de Lakeflow:

Ejemplos: Patrones comunes de Auto Loader

Para obtener ejemplos de patrones comunes de Auto Loader, consulte Patrones comunes de carga de datos.

Configuración de las opciones de Auto Loader

Puede ajustar Auto Loader en función del volumen, la variedad y la velocidad de los datos.

Para obtener una lista completa de las opciones de Auto Loader, consulte:

Si se produce un rendimiento inesperado, consulte las preguntas más frecuentes.

Configuración de los modos de detección de archivos de Auto Loader

Auto Loader admite dos modos de detección de archivos. Vea:

Ventajas del cargador automático sobre el uso de Structured Streaming directamente en archivos

En Apache Spark, puede leer archivos de forma incremental mediante spark.readStream.format(fileFormat).load(directory). Auto Loader ofrece las siguientes ventajas con respecto al origen del archivo:

  • Escalabilidad: Auto Loader puede detectar miles de millones de archivos de forma eficaz. Las reposiciones se pueden hacer de forma asincrónica para evitar malgastar los recursos de proceso.
  • Rendimiento: el costo de detectar archivos con Auto Loader se escala con el número de archivos que se ingieren en lugar de con el número de directorios a los que pueden llegar los archivos. Consulte los flujos de Auto Loader con el modo de listado de directorios.
  • Compatibilidad con la inferencia y la evolución de los esquemas: Auto Loader puede detectar desviaciones del esquema, notificarle cuándo se producen cambios en el mismo y rescatar datos que, de otro modo, se habrían ignorado o perdido. Consulte ¿Cómo funciona la inferencia de esquemas de Auto Loader?
  • Costo: Auto Loader usa API nativas en la nube para obtener listas de archivos que existen en el almacenamiento. Además, el modo de notificación de archivos del cargador automático puede ayudar a reducir aún más los costos en la nube evitando la lista de directorios por completo. El cargador automático puede configurar automáticamente los servicios de notificación de archivos en el almacenamiento para que la detección de archivos sea mucho más económica.