Taken activeren wanneer nieuwe bestanden binnenkomen
U kunt triggers voor bestandsaankomst gebruiken om een uitvoering van uw Azure Databricks-taak te activeren wanneer nieuwe bestanden binnenkomen op een externe locatie, zoals Amazon S3, Azure Storage of Google Cloud Storage. U kunt deze functie gebruiken wanneer een geplande taak mogelijk inefficiënt is omdat nieuwe gegevens volgens een onregelmatige planning binnenkomen.
Triggers voor bestandsinkomst doen er alles aan om elke minuut te controleren op nieuwe bestanden, hoewel dit kan worden beïnvloed door de prestaties van de onderliggende cloudopslag. Voor triggers voor bestands aankomst worden geen andere kosten in rekening gebracht dan de kosten van de cloudprovider die zijn gekoppeld aan het weergeven van bestanden op de opslaglocatie.
Een trigger voor aankomst van bestanden kan worden geconfigureerd voor het bewaken van de hoofdmap van een Unity-Catalog externe locatie of volume, of een subpad van een externe locatie of volume. Voor de Unity Catalog root volume /Volumes/mycatalog/myschema/myvolume/
zijn de volgende paden geldig voor een bestand-enkomsttrigger:
/Volumes/mycatalog/myschema/myvolume/
/Volumes/mycatalog/myschema/myvolume/mydirectory/
Een bestandsinkomsttrigger controleert recursief op nieuwe bestanden in alle submappen van de geconfigureerde locatie. Als u bijvoorbeeld een trigger voor bestands aankomst voor de locatie maakt en deze locatie /Volumes/mycatalog/myschema/myvolume/mydirectory/
de volgende submappen heeft:
/Volumes/mycatalog/myschema/myvolume/mydirectory/subdirA
/Volumes/mycatalog/myschema/myvolume/mydirectory/subdirB
/Volumes/mycatalog/myschema/myvolume/mydirectory/subdirC/subdirD
De trigger controleert op nieuwe bestanden in mydirectory
, subdirA
, subdirB
en subdirC
.subdirC/subdirD
Vereisten
Het volgende is vereist voor het gebruik van triggers voor bestands aankomst:
- Voor de werkruimte moet Unity Catalog zijn ingeschakeld.
- U moet een opslaglocatie gebruiken die een Unity-Catalog volume is of een externe locatie die is toegevoegd aan de Unity Catalog metastore. Zie Een externe locatie maken om cloudopslag te verbinden met Azure Databricks.
- U moet machtigingen hebben
READ
voor de opslaglocatie en MACHTIGINGEN VOOR HET BEHEREN van de taak. Zie Taak-ACL's voor meer informatie over taakmachtigingen.
Beperkingen
- Alleen nieuwe bestandentriggers worden uitgevoerd. Het overschrijven van een bestaand bestand met een bestand met dezelfde naam activeert geen uitvoering.
- Maximaal vijftig taken kunnen worden geconfigureerd met een trigger voor bestands aankomst in een Azure Databricks-werkruimte.
- Een opslaglocatie die is geconfigureerd voor een trigger voor bestands aankomst kan maximaal 10.000 bestanden bevatten. Locaties met meer bestanden kunnen niet worden bewaakt voor nieuwe aankomsten van bestanden. Als de geconfigureerde opslaglocatie een subpad is van een Unity-Catalog externe locatie of extern volume, is het bestand 10.000 limit van toepassing op het subpad en niet op de hoofdmap van de opslaglocatie. De hoofdmap van de opslaglocatie kan bijvoorbeeld meer dan 10.000 bestanden bevatten in de submappen, maar de geconfigureerde submap mag niet groter zijn dan het bestand 10.000 limit.
- Het pad dat wordt gebruikt voor een trigger voor bestands aankomst mag geen externe tables of beheerde locaties van catalogs en schema's bevatten.
- Het pad dat wordt gebruikt voor een trigger voor bestands aankomst kan bijvoorbeeld geen jokertekens bevatten,
*
of?
.
Een trigger voor het ontvangen van bestanden toevoegen
Een trigger voor bestands aankomst toevoegen aan een taak:
- Klik in de zijbalk op Werkstromen.
- Klik in de Naamcolumn op het tabblad Taken op de taaknaam.
- Klik in het deelvenster Taakdetails aan de rechterkant op Trigger toevoegen.
- In triggertype, selectbestand aankomst.
- Voer in Opslaglocatiede URL in van de hoofdmap of een subpad van een Unity Catalog externe locatie of het hoofd- of subpad van een Unity-Catalog volume dat moet worden bewaakt.
- (Optioneel) Geavanceerde opties configureren:
- Minimale tijd tussen triggers in seconden: de minimale tijd die moet worden gewacht om een uitvoering te activeren nadat een vorige uitvoering is voltooid. Bestanden die in deze periode binnenkomen, activeren pas een uitvoering nadat de wachttijd is verlopen. Gebruik deze instelling om de frequentie van het maken van de uitvoering te bepalen.
- Wacht na laatste wijziging in seconden: de tijd die moet worden gewacht om een uitvoering te activeren na aankomst van het bestand. Bij een andere aankomst van het bestand in deze periode wordt de timer opnieuw ingesteld. Deze instelling kan worden gebruikt wanneer bestanden binnenkomen in batches en de hele batch moet worden verwerkt nadat alle bestanden zijn aangekomen.
- Klik op Verbinding testen om de configuratie te valideren.
- Klik op Opslaan.
Meldingen ontvangen van mislukte triggers voor aankomst van bestanden
Als u een melding wilt ontvangen als een trigger voor het binnenkomen van een bestand niet kan worden geëvalueerd, configureert u e-mail- of systeembestemmingsmeldingen bij taakfouten. Zie Meldingen toevoegen aan een taak.