Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’option cloudFiles.useManagedFileEvents avec le chargeur automatique permet une découverte de fichiers efficace.
Comment fonctionne le chargeur automatique avec les événements de fichier ?
Le chargeur automatique avec les événements de fichier utilise les fonctionnalités de notifications d’événements de fichier fournies par les fournisseurs cloud. Vous pouvez configurer des conteneurs de stockage cloud pour publier des notifications sur des événements de fichier tels que la création et la modification de fichiers. Par exemple, avec les notifications d’événements Amazon S3, une nouvelle arrivée de fichier peut déclencher une notification à un sujet Amazon SNS. Vous pouvez ensuite associer une file d’attente Amazon SQS au sujet SNS pour un traitement asynchrone de l’événement.
Les événements de fichier Azure Databricks sont un service qui configure les ressources cloud pour écouter les événements de fichier. Vous pouvez également configurer vous-même les ressources cloud et fournir votre propre file d’attente de stockage.
Après avoir configuré les ressources cloud, le service écoute les événements de fichier et met en cache les informations de métadonnées de fichier. Le chargeur automatique utilise ce cache pour découvrir les fichiers lorsqu’il est exécuté avec cloudFiles.useManagedFileEvents défini sur true.
Lorsqu’un flux s’exécute pour la première fois avec cloudFiles.useManagedFileEvents défini sur true, le chargeur automatique effectue un listing complet du chemin de chargement pour découvrir tous les fichiers et se synchroniser avec le cache des événements de fichier (sécuriser une position de lecture valide dans le cache et la stocker dans le point de contrôle du flux). Les exécutions suivantes du chargeur automatique découvrent de nouveaux fichiers en lisant directement à partir du cache des événements de fichier à l’aide de la position de lecture stockée et ne nécessitent pas de liste de répertoires.
Databricks recommande d’exécuter vos flux de chargeur automatique au moins une fois tous les sept jours pour tirer parti de la découverte de fichiers incrémentielle à partir du cache. Si vous n’exécutez pas le chargeur automatique au moins cela souvent, la position de lecture stockée devient non valide et le chargeur automatique doit effectuer une liste complète de répertoires pour se synchroniser avec le cache des événements de fichier.
Quand le chargeur automatique avec les événements de fichier utilise-t-il la liste des répertoires ?
Le chargeur automatique effectue une liste complète de répertoires quand :
- Démarrage d’un nouveau flux.
- Migration d’un flux à partir d’une liste de répertoires ou de notifications de fichiers classiques.
- Le chargeur automatique avec les événements de fichier n’est pas exécuté pendant plus de sept jours.
- Vous apportez des mises à jour à l’emplacement externe qui invalident la position de lecture du chargeur automatique. Par exemple, lorsque vous désactivez et réactivez les événements de fichier, lorsque vous modifiez le chemin d’accès de l’emplacement externe ou lorsque vous fournissez une autre file d’attente pour l’emplacement externe.
Le chargeur automatique effectue toujours un inventaire complet lors de la première exécution, même lorsque includeExistingFiles est défini sur false. Cet indicateur vous permet d’ingérer tous les fichiers créés après l’heure de début du flux. Le chargeur automatique répertorie l’intégralité du répertoire pour découvrir tous les fichiers créés après l’heure de début du flux, établit une position de lecture dans le cache des événements de fichier et les stocke dans le point de contrôle. Les exécutions suivantes sont lues directement à partir du cache des événements de fichier et ne nécessitent pas de liste de répertoires.
Le service d’événements de fichiers Azure Databricks effectue également des listes d’annuaires complets sur l’emplacement externe pour vérifier qu’il n’a pas manqué de fichiers (par exemple, si la file d’attente fournie est mal configurée). La première liste de répertoires complets commence dès que les événements de fichier sont activés sur l’emplacement externe. Chaque liste suivante se produit 24 heures après la dernière analyse complète tant qu’il existe au moins un flux de chargeur automatique à l’aide d’événements de fichier pour ingérer des données.
Meilleures pratiques pour le chargeur automatique avec les événements de fichier
Suivez ces bonnes pratiques pour optimiser les performances et la fiabilité lors de l’utilisation du chargeur automatique avec des événements de fichier.
Utiliser des volumes pour une découverte de fichiers optimale
Pour améliorer les performances, Databricks recommande de créer un volume externe pour chaque chemin ou sous-répertoire à partir duquel Auto Loader charge des données et de fournir les chemins de volume (par exemple, /Volumes/someCatalog/someSchema/someVolume) au chargeur automatique, plutôt que des chemins cloud (par exemple, s3://bucket/path/to/volume). Cela optimise la découverte de fichiers, car le chargeur automatique peut répertorier le volume à l’aide d’un modèle d’accès aux données optimisé.
Prendre en compte les déclencheurs d’arrivée de fichiers pour les pipelines pilotés par les événements
Pour le traitement des données pilotées par les événements, envisagez d’utiliser un déclencheur d’arrivée de fichier au lieu d’un pipeline continu. Les déclencheurs d’arrivée de fichiers démarrent automatiquement votre pipeline lorsque de nouveaux fichiers arrivent, fournissant une meilleure utilisation des ressources et une meilleure efficacité des coûts, car votre cluster s’exécute uniquement lorsqu’il existe de nouveaux fichiers à traiter.
Configurer les intervalles appropriés avec des déclencheurs continus
Databricks recommande d’utiliser des déclencheurs d’arrivée de fichier pour traiter les fichiers dès qu’ils arrivent. Toutefois, si votre cas d'utilisation nécessite l’utilisation de déclencheurs continus comme Trigger.ProcessingTime, Databricks recommande de configurer les intervalles de déclencheurs à 1 minute ou plus (défini en utilisant pipelines.trigger.interval lors de l'utilisation de Pipelines déclaratifs Spark Lakeflow). Cela réduit la fréquence d’interrogation pour vérifier si de nouveaux fichiers sont arrivés et permet à un nombre plus élevé de flux de s’exécuter simultanément à partir de votre espace de travail.
Limitations du chargeur automatique avec des événements de fichier
- Auto Loader ne prend pas en charge les réécritures de chemin. Les réécritures de chemin s’appliquent lorsque plusieurs compartiments ou conteneurs sont montés sous DBFS, qui est un modèle d’utilisation déconseillé.
Pour obtenir la liste générale des limitations des événements de fichier, consultez les limitations des événements de fichier.
FAQ
Trouvez des réponses aux questions fréquemment posées sur Auto Loader et ses événements de fichiers.
Pourquoi le mode événements de fichier est-il préférable au mode de notifications de fichier classique ?
Ce diagramme compare le mode événements de fichier et le mode de notification de fichier classique.
Le mode événements de fichier présente plusieurs avantages par rapport au mode de notification de fichier classique. Principalement, il ne nécessite qu’une seule file d’attente pour tous les flux de chargeur automatique sur un compartiment, ce qui vous permet d’éviter la limite de notifications par compartiment. Pour plus d’informations, consultez le mode de notification de fichier avec et sans événements de fichier activés sur des emplacements externes.
Comment vérifier que les événements de fichier sont configurés correctement ?
Cliquez sur le bouton Tester la connexion dans la page d’emplacement externe. Si vous configurez correctement les événements de fichier, vous verrez une coche verte pour l’élément De lecture des événements de fichier . Si vous venez de créer l’emplacement externe et activé les événements de fichier en Automatic mode, le test s’affiche Skipped lorsque Azure Databricks configure des notifications pour l’emplacement externe. Patientez quelques minutes, puis cliquez à nouveau sur Tester la connexion . Si Azure Databricks n’a pas les autorisations requises pour configurer ou lire à partir d’événements de fichier, une erreur s’affiche pour l’élément de lecture des événements de fichier .
Puis-je éviter une liste complète d’annuaires pendant l’exécution initiale ?
Non. Même si includeExistingFiles est défini sur false, le chargeur automatique effectue un listage de répertoires pour découvrir les fichiers créés après le démarrage du flux et pour actualiser le cache des événements de fichiers (sécuriser une position de lecture valide dans le cache et le stocker dans le point de contrôle du flux).
Dois-je définir cloudFiles.backfillInterval pour éviter les fichiers manquants ?
Non. Azure Databricks a précédemment recommandé ce paramètre pour le mode de notification de fichier classique, car les systèmes de notification de stockage cloud pourraient entraîner des fichiers manquants ou arrivés en retard. À présent, Azure Databricks effectue des listages de répertoires complets sur l'emplacement externe. La première liste de répertoires complets commence dès que les événements de fichier sont activés sur l’emplacement externe. Chaque liste suivante se produit 24 heures après la dernière analyse complète tant qu’il existe au moins un flux de chargeur automatique à l’aide d’événements de fichier pour ingérer des données.
J’ai configuré des événements de fichier avec une file d’attente de stockage fournie, mais la file d’attente a été mal configurée et j’ai manqué des fichiers. Comment vérifier que le chargeur automatique ingère les fichiers manqués lorsque ma file d’attente a été mal configurée ?
Tout d’abord, vérifiez que la configuration incorrecte de la file d’attente fournie est corrigée. Pour vérifier, cliquez sur le bouton Tester la connexion dans la page d’emplacement externe. Si vous configurez correctement les événements de fichier, une coche verte s’affiche pour l’élément De lecture des événements de fichier .
Azure Databricks effectue une liste complète de répertoires pour les emplacements externes avec des événements de fichier activés. Cette liste de répertoires découvre tous les fichiers qui ont été manqués pendant la période de configuration incorrecte et les stocke dans le cache des événements de fichier.
Une fois que la configuration incorrecte est corrigée et qu’Azure Databricks termine la liste des répertoires, le chargeur automatique continue de lire à partir du cache des événements de fichier et ingère automatiquement tous les fichiers manqués pendant la période de configuration incorrecte.
Comment Azure Databricks obtient-il les autorisations nécessaires pour créer des ressources cloud et lire et supprimer des messages de la file d’attente ?
Azure Databricks utilise les autorisations accordées dans les informations d’identification de stockage associées à l’emplacement externe sur lequel les événements de fichier sont activés.