¿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 admite Python y SQL en Delta Live Tables.
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 Gen2 (ADLS Gen2,
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).
ADLS Gen1 (
adl://
)Nota:
Se ha anunciado la retirada pendiente de Azure Data Lake Storage Gen1. Databricks recomienda que se migren todos datos de Azure Data Lake Storage Gen1 a Azure Data Lake Storage Gen2. Si aún no ha migrado los suyos, consulte Acceso a Azure Data Lake Storage Gen1 desde Azure Databricks.
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 mantenga ni administre ningún estado para lograr la tolerancia a errores o la semántica de datos procesados exactamente una vez.
Ingesta incremental mediante Auto Loader con Delta Live Tables
Databricks recomienda usar el cargador automático en Delta Live Tables para la ingesta de datos incremental. Delta Live Tables amplía la funcionalidad en Structured Streaming de Apache Spark y le permite escribir solo unas pocas líneas de Python o SQL declarativo para implementar una canalización de datos con calidad de producción con:
- Escalado automático de la infraestructura de proceso para ahorrar costes
- Controles de calidad de datos con expectativas
- Gestión automática de la evolución de esquemas
- Supervisión mediante métricas en el registro de eventos
No es necesario proporcionar un esquema ni una ubicación de punto de comprobación, ya que Delta Live Tables administra automáticamente esta configuración para las canalizaciones. Consulte Carga de datos con Delta Live Tables.
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 artículos siguientes para empezar a configurar la ingesta de datos incrementales mediante Auto Loader con Delta Live Tables:
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.
- Configuración de inferencia y evolución de esquemas en Auto Loader
- Configuración del cargador automático para cargas de trabajo de producción
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:
- ¿Qué es el modo de lista de directorios de Auto Loader?
- ¿Qué es el modo de notificación de archivos de Auto Loader?
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 ¿Qué es el modo de lista de directorios de Auto Loader?
- 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 de Auto Loader puede ayudar a reducir aún más los costos en la nube al evitar 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.