Auslösen von Aufträgen beim Eintreffen neuer Dateien
Sie können Dateieingangstrigger verwenden, um eine Ausführung Ihres Azure Databricks-Auftrags auszulösen, wenn neue Dateien an einem externen Speicherort wie beispielsweise Amazon S3, Azure Storage oder Google Cloud Storage eintreffen. Sie können dieses Feature verwenden, wenn ein geplanter Auftrag möglicherweise ineffizient ist, da neue Daten nach einem unregelmäßigen Zeitplan eingehen.
Dateieingangstrigger bemühen sich, im Minutentakt auf neue Dateien zu überprüfen, obwohl dies durch die Leistung des zugrunde liegenden Cloudspeichers beeinträchtigt werden kann. Dateieingangstrigger verursachen keine zusätzlichen Kosten außer Cloudanbieterkosten, die mit dem Auflisten von Dateien am Speicherort verbunden sind.
Ein Dateieingangstrigger kann so konfiguriert werden, dass der Stamm eines externen Unity Catalog-Speicherorts oder -Volumes oder ein Unterpfad eines externen Speicherorts oder Volumes überwacht wird. Für das Unity Catalog-Stammvolume /Volumes/mycatalog/myschema/myvolume/
sind beispielsweise die folgenden Pfade für einen Dateieingangstrigger zulässig:
/Volumes/mycatalog/myschema/myvolume/
/Volumes/mycatalog/myschema/myvolume/mydirectory/
Eine Dateiankunft löst rekursiv die Suche nach neuen Dateien in allen Unterverzeichnissen des konfigurierten Speicherorts aus. Wenn Sie z. B. einen Dateiankunftsauslöser für den Speicherort /Volumes/mycatalog/myschema/myvolume/mydirectory/
erstellen und dieser Speicherort die folgenden Unterverzeichnisse enthält:
/Volumes/mycatalog/myschema/myvolume/mydirectory/subdirA
/Volumes/mycatalog/myschema/myvolume/mydirectory/subdirB
/Volumes/mycatalog/myschema/myvolume/mydirectory/subdirC/subdirD
Der Trigger sucht nach neuen Dateien in mydirectory
, subdirA
, , subdirB
, subdirC
und subdirC/subdirD
.
Anforderungen
Für die Verwendung von Dateiankunftstriggern sind folgende Voraussetzungen erforderlich:
- Ihr Arbeitsbereich muss für Unity Catalog aktiviert sein.
- Sie müssen einen Speicherort verwenden, der entweder ein Unity Catalog-Volume oder ein externer Speicherort ist, der dem Unity Catalog-Metastore hinzugefügt wurde. Weitere Informationen finden Sie unter Erstellen eines externen Speicherorts zum Verbinden des Cloudspeichers mit Azure Databricks.
- Sie benötigen die Berechtigungen
READ
für den Speicherort und die Berechtigungen „KANN VERWALTEN“ für den Auftrag. Weitere Informationen zu Auftragsberechtigungen finden Sie unter Zugriffssteuerungslisten für Aufträge.
Begrenzungen
- Nur neue Dateien lösen Läufe aus. Das Überschreiben einer vorhandenen Datei mit einer Datei mit demselben Namen löst keine Ausführung aus.
- Maximal fünfzig Aufträge können mit einem Dateiankunftsauslöser in einem Azure Databricks-Arbeitsbereich konfiguriert werden.
- Ein Speicherort, der für einen Dateieingangstrigger konfiguriert ist, darf nur bis zu 10.000 Dateien enthalten. Speicherorte mit mehr Dateien können nicht auf neue Dateieingänge überwacht werden. Wenn der konfigurierte Speicherort ein Unterpfad eines externen Unity Catalog-Speicherorts oder -Volumes ist, gilt der Grenzwert von 10.000 Dateien für den Unterpfad und nicht für das Stammverzeichnis des Speicherorts. Der Stamm des Speicherorts kann z. B. mehr als 10.000 Dateien in seinen Unterverzeichnissen enthalten, das konfigurierte Unterverzeichnis darf jedoch den Grenzwert von 10.000 Dateien nicht überschreiten.
- Der Pfad, der für einen Dateieingangstrigger verwendet wird, darf keine externen Tabellen oder verwalteten Speicherorte von Katalogen und Schemas enthalten.
- Der pfad, der für einen Dateiankunftstrigger verwendet wird,
*
darf keine Wildcards enthalten, z. B. oder?
.
Hinzufügen eines Dateiankunftstriggers
Zum Hinzufügen eines Dateieingangstriggers zu einem Auftrag:
- Klicken Sie auf der Seitenleiste auf Workflows.
- Klicken Sie in der Spalte Name auf der Registerkarte Aufträge auf den Auftragsnamen.
- Im Bereich Auftragsdetails rechts klicken Sie auf Trigger hinzufügen.
- Wählen Sie im Triggertyp Dateiankunft aus.
- Geben Sie unter Speicherort die URL des Stammverzeichnisses oder eines Unterpfads eines externen Unity Catalog-Speicherorts oder das Stammverzeichnis oder einen Unterpfad eines zu überwachenden Unity Catalog-Volumes ein.
- (Optional) Konfigurieren Sie erweiterte Einstellungen:
- Minimale Zeit zwischen Triggern in Sekunden: Die mindeste Zeit, bis eine Ausführung nach Abschluss einer vorherigen Ausführung ausgelöst wird. Dateien, die in diesem Zeitraum eingehen, lösen eine Ausführung erst nach Ablauf der Wartezeit aus. Verwenden Sie diese Einstellung, um die Häufigkeit der Ausführungserstellung zu steuern.
- Warten Sie nach der letzten Änderung in Sekunden: Die Zeit, bis eine Ausführung nach der Dateiankunft ausgelöst wird. Ein anderer Dateieingang innerhalb dieses Zeitraums setzt den Timer zurück. Diese Einstellung kann verwendet werden, wenn Dateien in Batches eingehen, und der gesamte Batch muss verarbeitet werden, nachdem alle Dateien eingegangen sind.
- Klicken Sie auf Verbindung testen, um die Konfiguration zu überprüfen.
- Klicken Sie auf Speichern.
Empfangen von Benachrichtigungen über fehlerhafte Dateieingangstrigger
Um benachrichtigt zu werden, wenn ein Dateieingangstrigger nicht ausgewertet werden kann, konfigurieren Sie E-Mail- oder Systemzielbenachrichtigungen bei Auftragsfehlern. Weitere Informationen finden Sie unter Hinzufügen von E-Mail- und Systembenachrichtigungen für Auftragsereignisse.