Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile usare i trigger di arrivo dei file per attivare un'esecuzione del lavoro quando arrivano nuovi file in un percorso esterno, ad esempio Amazon S3, Azure Storage o Google Cloud Storage. Questa funzionalità è utile quando l'efficienza di un processo pianificato viene compromessa da nuovi arrivi irregolari dei dati.
Come funzionano i trigger di arrivo dei file?
I trigger di arrivo dei file fanno il massimo per verificare ogni minuto la presenza di nuovi file, anche se ciò può essere influenzato dalle prestazioni dell'archiviazione cloud sottostante. I trigger di arrivo dei file non comportano costi aggiuntivi diversi dai costi del provider cloud associati all'elenco dei file nel percorso di archiviazione.
Un trigger di arrivo dei file può essere configurato per monitorare la radice di una posizione esterna o di un volume del catalogo Unity, oppure un percorso secondario di un percorso o di un volume esterno. Ad esempio, per il volume del Catalogo Unity /Volumes/mycatalog/myschema/myvolume/
, i seguenti percorsi sono validi per un trigger di arrivo file:
/Volumes/mycatalog/myschema/myvolume/
/Volumes/mycatalog/myschema/myvolume/mydirectory/
Un trigger di arrivo file verifica in modo ricorsivo la presenza di nuovi file in tutte le sottodirectory del percorso configurato. Ad esempio, si crea un trigger di arrivo file per il percorso /Volumes/mycatalog/myschema/myvolume/mydirectory/
e questa posizione include le sottodirectory seguenti:
/Volumes/mycatalog/myschema/myvolume/mydirectory/subdirA
/Volumes/mycatalog/myschema/myvolume/mydirectory/subdirB
/Volumes/mycatalog/myschema/myvolume/mydirectory/subdirC/subdirD
Il trigger verifica la presenza di nuovi file in mydirectory
, subdirA
subdirB
, subdirC
, e subdirC/subdirD
.
Trigger di arrivo file con eventi di file
Per ottenere prestazioni ottimali, il percorso esterno deve essere abilitato per gli eventi di file. Quando gli eventi di file sono abilitati per una posizione esterna, Azure Databricks usa un servizio interno per tenere traccia dei metadati di inserimento elaborando le notifiche di modifica dai provider di servizi cloud. Questo servizio conserva i metadati per i file più recenti creati o aggiornati in un periodo di conservazione in sequenza determinato dal servizio, migliorando l'efficienza dell'elaborazione dei file.
Entro minuti dall'abilitazione degli eventi di file in una posizione esterna, i trigger di arrivo dei file esistenti che monitorano i percorsi coperti da tale posizione esterna iniziano a trarre vantaggio dall'abilitazione degli eventi di file e i nuovi trigger traggono vantaggio entro pochi secondi.
Per altre informazioni sui vantaggi delle prestazioni e della capacità degli eventi di file in posizioni esterne, vedere Limitazioni.
Prima di iniziare
Per usare i trigger di arrivo dei file, è necessario quanto segue:
L'area di lavoro deve avere Unity Catalog abilitato.
È necessario utilizzare un percorso di archiviazione che sia un volume o una posizione esterna configurata in Unity Catalog. Vedere Che cosa sono i volumi di Unity Catalog? e Creare una posizione esterna per connettere l'archiviazione cloud ad Azure Databricks.
Databricks consiglia di abilitare la posizione esterna per gli eventi di file gestiti. I volumi in questi percorsi esterni hanno il supporto per gli eventi di file per impostazione predefinita. Per abilitare gli eventi di file, è necessario essere il proprietario della destinazione esterna o avere il
MANAGE
privilegio sulla destinazione esterna. Per informazioni sui vantaggi degli eventi di file, vedere Trigger di arrivo dei file con eventi di file.È necessario disporre dell'autorizzazione
READ
per la posizione di archiviazione e dell'autorizzazione di gestione per il processo. Per maggiori informazioni sulle autorizzazioni dei lavori, vedere ACL dei lavori.
Aggiungere un trigger di arrivo del file
Per aggiungere un evento di arrivo di un file a un processo:
- Nella barra laterale dell'area di lavoro di Azure Databricks fare clic su Processi e pipeline.
- Opzionalmente, selezionare i filtri Attività e Di mia proprietà.
- Fare clic sul Nome del collegamento del proprio lavoro.
- Nel pannello Dettagli processo a destra, cliccare su Aggiungi trigger.
- In Tipo di trigger selezionare Arrivo file.
- In Percorso di archiviazione immettere l'URL della radice o di un sottopercorso di una posizione esterna del catalogo Unity, o della radice o di un sottopercorso di un volume del catalogo Unity da monitorare.
- (Facoltativo) Configurare le opzioni avanzate:
- Tempo minimo tra i trigger in secondi: tempo minimo di attesa per attivare un'esecuzione dopo il completamento di un'esecuzione precedente. I file che arrivano in questo periodo di tempo attivano un'esecuzione solo dopo la scadenza del tempo di attesa. Utilizzare questa impostazione per controllare la frequenza di creazione delle esecuzioni.
- Attesa dopo l'ultima modifica in secondi: tempo di attesa per attivare un'esecuzione dopo l'arrivo dei file. Un nuovo file che arriva in questo periodo reimposta il timer. Questa impostazione può essere usata quando arrivano i file in batch e l'intero batch deve essere elaborato dopo l'arrivo di tutti i file.
- Per convalidare la configurazione fare clic su Test connessione.
- Fare clic su Salva.
Ricevere notifiche dei trigger di arrivo dei file falliti
Per ricevere una notifica se un trigger di arrivo dei file non viene valutato, configurare le notifiche di destinazione e-mail o di sistema in caso di errore del processo. Vedere Aggiungere notifiche in un processo.
Limitazioni
- Il percorso usato per un trigger di arrivo file non deve contenere tabelle esterne o percorsi gestiti di cataloghi e schemi.
- Il percorso usato per un trigger di arrivo di un file non può contenere caratteri jolly, ad esempio
*
o?
. - Se il percorso di archiviazione è configurato come percorso esterno nel catalogo unity e tale percorso esterno è abilitato per gli eventi di file:
- È possibile configurare un massimo di 1.000 job con un trigger di arrivo di file in un'area di lavoro di Azure Databricks.
- Non esistono limiti al numero di file nel percorso di archiviazione.
- Quando i trigger monitorano un sottopercorso di una posizione, sia che si tratti di un volume di una posizione esterna, il numero di modifiche nella posizione radice può causare al trigger di superare il tempo consentito per elaborare le modifiche. In questo caso, il trigger viene impostato in uno stato di errore. È possibile evitare questo problema configurando il trigger per monitorare la radice di una posizione. Ad esempio, è possibile creare un volume del catalogo Unity nel sottopercorso, ma configurare il trigger nella radice del volume.
- Se un file esistente viene modificato e i relativi metadati non rientrano nel periodo di conservazione in sequenza, tale modifica verrà considerata come un nuovo arrivo del file, attivando un'esecuzione del processo. È possibile evitare questo problema inserendo solo file non modificabili oppure è possibile usare i trigger di arrivo dei file con il caricatore automatico per tenere traccia dello stato di inserimento.
- Se il percorso di archiviazione non è abilitato per gli eventi di file:
- Solo i nuovi file avviano le esecuzioni. La sovrascrittura di un file esistente con un file con lo stesso nome non attiva un'esecuzione.
- È possibile configurare un massimo di 50 processi con un trigger di arrivo file in tali posizioni in un'area di lavoro di Azure Databricks.
- Il percorso di archiviazione può contenere fino a 10.000 file. Se il percorso di archiviazione configurato è un sottopercorso di un percorso esterno o di un volume del catalogo Unity, il limite di 10.000 file si applica al percorso secondario e non alla radice del percorso di archiviazione. Ad esempio, la radice del percorso di archiviazione può contenere più di 10.000 file nelle relative sottodirectory, ma la sottodirectory configurata non deve superare il limite di 10.000 file.
Vedere anche Limitazioni degli eventi di file.