Déclencher des travaux lorsque de nouveaux fichiers arrivent
Vous pouvez utiliser des déclencheurs d’arrivée de fichiers pour déclencher une exécution de votre travail Azure Databricks quand de nouveaux fichiers arrivent dans un emplacement externe, comme Amazon S3, Stockage Azure ou Google Cloud Storage. Vous pouvez utiliser cette fonction lorsqu’un travail planifié risque d’être inefficace parce que les nouvelles données arrivent selon un calendrier irrégulier.
Les déclencheurs d’arrivée de fichiers s’efforcent de vérifier la présence de nouveaux fichiers toutes les minutes, bien que cela puisse être affecté par les performances du stockage cloud sous-jacent. Les déclencheurs d’arrivée de fichiers n’entraînent pas de coûts supplémentaires autres que les coûts du fournisseur de cloud associés à l’énumération des fichiers dans l’emplacement de stockage.
Un déclencheur d’arrivée de fichiers peut être configuré pour surveiller la racine d’un emplacement externe ou d’un volume Unity Catalog, ou d’un sous-chemin d’accès d’un emplacement ou d’un volume externe. Par exemple, pour le volume racine d’Unity Catalog /Volumes/mycatalog/myschema/myvolume/
, les chemins d’accès suivants sont des chemins valides pour un déclencheur d’arrivée de fichiers :
/Volumes/mycatalog/myschema/myvolume/
/Volumes/mycatalog/myschema/myvolume/mydirectory/
Un déclencheur d’arrivée de fichier vérifie de manière récursive les nouveaux fichiers dans tous les sous-répertoires de l’emplacement configuré. Par exemple, si vous créez un déclencheur d’arrivée de fichier pour l’emplacement et que cet emplacement /Volumes/mycatalog/myschema/myvolume/mydirectory/
comporte les sous-répertoires suivants :
/Volumes/mycatalog/myschema/myvolume/mydirectory/subdirA
/Volumes/mycatalog/myschema/myvolume/mydirectory/subdirB
/Volumes/mycatalog/myschema/myvolume/mydirectory/subdirC/subdirD
Le déclencheur recherche les nouveaux fichiers dans mydirectory
, subdirA
, subdirB
, subdirC
et subdirC/subdirD
.
Spécifications
Les éléments suivants sont requis pour utiliser les déclencheurs d'arrivée de fichiers :
- L'espace de travail doit avoir Unity Catalog activé.
- Vous devez utiliser un emplacement de stockage qui est soit un volume Unity Catalog, soit un emplacement externe ajouté au metastore Unity Catalog. Consultez Créer un emplacement externe pour connecter le stockage cloud à Azure Databricks.
- Vous devez disposer d’autorisations
READ
sur l’emplacement de stockage, et d’autorisations PEUT GÉRER sur le travail. Pour plus d’informations sur les autorisations de tâches, consultez Liste de contrôle d’accès des tâches.
Limites
- Seul le nouveau déclencheur de fichiers s’exécute. Le remplacement d’un fichier existant par un fichier de même nom ne déclenche pas d’exécution.
- Un maximum de cinquante tâches peuvent être configurées avec un déclencheur d’arrivée de fichier dans un espace de travail Azure Databricks.
- Un emplacement de stockage configuré pour un déclencheur d’arrivée de fichiers peut contenir seulement jusqu’à 10 000 fichiers. Les emplacements contenant plus de fichiers ne peuvent pas être surveillés pour détecter les nouvelles arrivées de fichiers. Si l’emplacement de stockage configuré est un sous-chemin d’accès d’un emplacement ou d’un volume externe Unity Catalog, la limite de 10 000 fichiers s’applique au sous-chemin, et non pas à la racine de l’emplacement de stockage. Par exemple, la racine de l’emplacement de stockage peut contenir plus de 10 000 fichiers dans ses sous-répertoires, mais le sous-répertoire configuré ne doit pas dépasser la limite de 10 000 fichiers.
- Le chemin utilisé pour un déclencheur d’arrivée de fichier ne doit pas contenir de tables externes ou d’emplacements gérés de catalogues et de schémas.
- Le chemin utilisé pour un déclencheur d’arrivée de fichier ne peut pas contenir de caractères génériques, par exemple,
*
ou?
.
Ajouter un déclencheur d'arrivée de fichier
Pour ajouter un déclencheur d'arrivée de fichier à une tâche :
- Cliquez sur Workflows dans la barre latérale.
- Dans la colonne Nom de l’onglet Travaux, cliquez sur le nom du travail.
- Dans le panneau Détails de la tâche sur la droite, cliquez sur Ajouter un déclencheur.
- Dans Type de déclencheur, sélectionnez Arrivée du fichier.
- Dans Emplacement de stockage, entrez l’URL de la racine ou un sous-chemin d’accès d’un emplacement externe Unity Catalog, ou la racine ou un sous-chemin d’accès d’un volume Unity Catalog à surveiller.
- (Facultatif) Configurez les options avancées :
- Temps minimum entre les déclenchements en secondes : Temps d'attente minimum pour déclencher une exécution après la fin d'une exécution précédente. Les fichiers qui arrivent pendant cette période déclenchent une exécution uniquement après l'expiration du délai d'attente. Utilisez ce paramètre pour contrôler la fréquence de création d’exécution.
- Attendez après le dernier changement en secondes : Le temps d'attente pour déclencher une exécution après l'arrivée du fichier. Une autre arrivée de fichier dans cette période réinitialise le minuteur. Ce paramètre peut être utilisé lorsque les fichiers arrivent par lots et que l'ensemble du lot doit être traité une fois tous les fichiers arrivés.
- Pour valider la configuration, cliquez sur Tester la connexion.
- Cliquez sur Enregistrer.
Recevoir des notifications en cas d’échec du déclenchement de l’arrivée d’un fichier
Pour être informé de l’échec de l’évaluation d’un déclencheur d’arrivée de fichier, configurez des notifications par e-mail ou par destination système en cas d’échec de la tâche. Consultez Ajouter des notifications par e-mail et système pour les événements de travail.