Qu’est-ce que Auto Loader ?
Auto Loader traite de façon incrémentielle et efficace les nouveaux fichiers de données à mesure qu’ils arrivent dans le stockage cloud, sans aucune configuration supplémentaire.
Comment Auto Loader fonctionne-t-il ?
Auto Loader traite de façon incrémentielle et efficace les nouveaux fichiers de données à mesure qu’ils arrivent dans le stockage cloud. Il fournit une source de flux structuré appelée cloudFiles
. À partir du chemin d’accès du répertoire d’entrée sur le stockage de fichiers dans le cloud, la source cloudFiles
traite automatiquement les nouveaux fichiers à mesure qu’ils arrivent, avec la possibilité de traiter également les fichiers existants dans ce répertoire. Auto Loader prend en charge Python et SQL dans Delta Live Tables.
Vous pouvez utiliser Auto Loader pour traiter des milliards de fichiers afin de migrer ou de renvoyer une table. Auto Loader effectue une mise à l’échelle pour prendre en charge l’ingestion en quasi-temps réel de millions de fichiers par heure.
Sources de chargeur automatique prises en charge
Le chargeur automatique peut charger des fichiers de données à partir des sources suivantes :
Amazon S3 (
s3://
)Azure Data Lake Storage Gen2 (ADLS Gen2,
abfss://
)Google Cloud Storage (GCS,
gs://
)Stockage Blob Azure (
wasbs://
)Remarque
Le pilote Windows Azure Storage Blob (WASB) hérité est déconseillé. ABFS présente de nombreux avantages par rapport à WASB. Consultez la documentation Azure sur ABFS. Pour accéder à de la documentation sur l’utilisation du pilote WASB hérité, consultez Se connecter à Stockage Blob Azure avec WASB (hérité).
ADLS Gen1 (
adl://
)Remarque
Azure a annoncé la mise hors service imminente d’Azure Data Lake Storage Gen1. Databricks recommande de migrer toutes les données d’Azure Data Lake Storage Gen1 vers Azure Data Lake Storage Gen2. Si vous n’avez pas encore opéré la migration, consultez Accès au stockage Azure Data Lake Storage Gen1 à partir d’Azure Databricks.
Système de fichiers Databricks (DBFS,
dbfs:/
).
Auto Loader peut ingérer les formats de fichiers JSON
, CSV
, XML
, PARQUET
, AVRO
, ORC
, TEXT
et BINARYFILE
.
Comment le chargeur automatique effectue-t-il le suivi de l’ingestion ?
À mesure que les fichiers sont découverts, leurs métadonnées sont conservées dans un magasin évolutif de paires clé-valeur (RocksDB) à l’emplacement du point de contrôle de votre pipeline Auto Loader. Ce magasin de paires clé-valeur garantit que les données sont traitées une seule fois.
En cas d’échec, Auto Loader peut reprendre là où il s’est arrêté grâce aux informations stockées dans l’emplacement du point de contrôle et continuer à fournir des garanties « une seule fois » lors de l’écriture des données dans Delta Lake. Vous n’avez pas besoin de maintenir ni de gérer vous-même un état quelconque pour obtenir la tolérance aux pannes ou la sémantique « une seule fois ».
Ingestion incrémentielle à l’aide d’Auto Loader avec des tables dynamiques Delta
Databricks recommande Auto Loader dans Delta Live Tables pour l’ingestion incrémentielle des données. Delta Live Tables étend les fonctionnalités d’Apache Spark Structured Streaming et vous permet d’écrire quelques lignes de code Python ou SQL déclaratif pour déployer un pipeline de données de qualité production avec :
- Mise à l’échelle automatique de l’infrastructure de calcul pour la réduction des coûts
- Contrôles de la qualité des données avec les attentes
- Gestion automatique de l’évolution du schéma
- Monitoring via des métriques dans le journal des événements
Vous n’avez pas besoin de fournir un emplacement de schéma ou de point de contrôle, car Delta Live Tables gère automatiquement ces paramètres pour vos pipelines. Consultez Charger des données avec Delta Live Tables.
Databricks recommande également Auto Loader chaque fois que vous utilisez Apache Spark Structured Streaming pour ingérer des données à partir du stockage d’objets cloud. Les API sont disponibles dans Python et Scala.
Bien démarrer avec Databricks Auto Loader
Consultez les articles suivants pour commencer à configurer l’ingestion de données incrémentielles à l’aide d’Auto Loader avec delta Live Tables :
Exemples : Modèles courants d’Auto Loader
Pour obtenir des exemples de modèles courants d’Auto Loader, consultez modèles courants de chargement de données.
Configurer les options d’Auto Loader
Vous pouvez régler Auto Loader en fonction du volume, de la variété et de la vélocité des données.
- Configuration de l’inférence et de l’évolution de schéma dans Auto Loader
- Configurer Auto Loader pour les charges de travail de production
Pour obtenir la liste complète des options Auto Loader, consultez :
Si vous rencontrez des performances inattendues, consultez la FAQ.
Configurer les modes de détection de fichiers de chargeur automatique
Le chargeur automatique prend en charge deux modes de détection de fichiers. Consultez l'article :
- Qu’est-ce que le mode de liste de répertoire du chargeur automatique ?
- Qu’est-ce que le mode de notification de fichier Auto Loader ?
Avantages de Auto Loader sur l’utilisation de Structured Streaming directement sur des fichiers
Dans Apache Spark, vous pouvez lire des fichiers de manière incrémentielle en utilisant spark.readStream.format(fileFormat).load(directory)
. Auto Loader offre les avantages suivants par rapport à la source du fichier :
- Scalabilité : Auto Loader peut découvrir des milliards de fichiers de manière efficace. Les renvois peuvent être effectués de manière asynchrone pour éviter de gaspiller des ressources de calcul.
- Performances : le coût de la détection de fichiers avec Auto Loader se met à l’échelle du nombre de fichiers ingérés plutôt que du nombre de répertoires dans lesquels les fichiers peuvent atterrir. ConsultezQu’est-ce que le mode de liste de répertoire du chargeur automatique ?
- Prise en charge de l’inférence et de l’évolution de schéma : Auto Loader peut détecter les dérives de schéma, vous avertir lorsque des modifications de schéma se produisent et récupérer les données qui auraient autrement été ignorées ou perdues. Consultez Comment fonctionne l’inférence de schéma Auto Loader ?.
- Coût : Auto Loader utilise des API cloud natives pour obtenir les listes des fichiers qui existent dans le stockage. En outre, le mode Notification de fichiers d’Auto Loader peut contribuer à réduire davantage les coûts liés au cloud en évitant complètement la liste de répertoires. Auto Loader peut configurer automatiquement des services de notification de fichiers sur le stockage pour rendre la détection de fichiers beaucoup moins chère.