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.
Questa pagina descrive i concetti alla base della modalità in tempo reale in Structured Streaming, tra cui ciò che si tratta, come ottiene una bassa latenza e quando usarlo.
Che cos'è la modalità in tempo reale?
La modalità in tempo reale è un tipo di trigger per Structured Streaming che consente l'elaborazione dei dati a bassa latenza con latenza end-to-end inferiore a cinque millisecondi. Usare la modalità in tempo reale per i carichi di lavoro operativi che richiedono una risposta immediata ai dati di streaming, ad esempio il rilevamento delle frodi, la personalizzazione in tempo reale e i sistemi decisionali istantanei.
Come la modalità in tempo reale raggiunge una bassa latenza
La modalità in tempo reale migliora l'architettura di esecuzione tramite:
- Esecuzione di batch a esecuzione prolungata (il valore predefinito è cinque minuti), in cui il sistema elabora i dati man mano che diventa disponibile nell'origine.
- Pianificazione simultanea di tutte le fasi della query. Ciò richiede che il numero di slot di attività disponibili sia uguale o maggiore del numero di attività di tutte le fasi di un batch.
- Trasferimento di dati tra le fasi non appena vengono prodotti, mediante uno shuffle in streaming.
Alla fine dell'elaborazione di un batch e prima dell'avvio del successivo, Structured Streaming effettua checkpoint del progresso e pubblica le metriche. La durata del batch influisce sulla frequenza di checkpoint:
- Per i batch più lunghi, il checkpoint si verifica meno frequentemente, il che significa riesecuzioni più lunghe in caso di errore e ritardata disponibilità delle metriche.
- Per batch più brevi, il checkpoint si verifica più frequentemente, che può influire sulla latenza.
Azure Databricks consiglia di eseguire il benchmarking della modalità in tempo reale rispetto al carico di lavoro di destinazione per trovare l'intervallo di trigger appropriato.
Quando usare la modalità in tempo reale
Selezionare la modalità in tempo reale quando il caso d'uso richiede:
- Latenza secondaria: applicazioni che devono rispondere ai dati entro millisecondi. Ad esempio, bloccare o contrassegnare una transazione con carta di credito in tempo reale se un punteggio di frode supera una soglia in base a posizioni insolite, dimensioni elevate delle transazioni o modelli di spesa rapidi.
- Processo decisionale operativo: sistemi che attivano azioni immediate in base ai dati in ingresso. Ad esempio, il recapito di un messaggio promozionale quando i dati clickstream mostrano che un utente ha esplorato un prodotto, offrendo uno sconto se acquista entro i prossimi 15 minuti.
- Elaborazione continua: carichi di lavoro in cui i dati devono essere elaborati non appena arrivano, anziché in batch periodici.
Usare la modalità micro-batch (il trigger predefinito per lo streaming strutturato) quando il caso d'uso richiede:
- Elaborazione analitica: pipeline ETL, trasformazioni dei dati e implementazioni dell'architettura medallion in cui i requisiti di latenza vengono misurati in secondi o minuti.
- Ottimizzazione dei costi: i carichi di lavoro in cui non è necessaria la latenza al secondo secondario, perché la modalità in tempo reale richiede risorse di calcolo dedicate.
- La frequenza del checkpoint è importante: applicazioni che traggono vantaggio da un checkpointing più frequente per un recupero più rapido.
Supporto e limitazioni delle funzionalità
Per un elenco completo di ambienti, linguaggi, tipi di calcolo, origini, sink, operatori e limitazioni note, vedere Informazioni di riferimento sulla modalità in tempo reale.
Risorse aggiuntive
- Configurare la modalità in tempo reale
- Esercitazione: Eseguire un carico di lavoro di streaming in tempo reale
- Esempi di modalità in tempo reale
- Ottimizzare e monitorare le prestazioni delle query in modalità in tempo reale
- Informazioni di riferimento sulla modalità in tempo reale
- Concetti di Structured Streaming