Concetti relativi a Structured Streaming

Apache Spark Structured Streaming ti permette di costruire applicazioni e pipeline di streaming con le stesse API Spark che usi per l'elaborazione batch. In Azure Databricks sono supportate due modalità di elaborazione:

  • Modalità in tempo reale (RTM): Progettata per carichi di lavoro operativi con latenza inferiore al secondo, come il rilevamento delle frodi e la personalizzazione in tempo reale. RTM elabora i record man mano che arrivano, con una latenza end-to-end appena cinque millisecondi. Vedi concetti di modalità in tempo reale.
  • Modalità micro-batch: Progettata per pipeline analitici e carichi di lavoro per estrazione, trasformazione e caricamento (ETL). La modalità micro-batch elabora i flussi in piccoli lotti, bilanciando il costo di calcolo con i requisiti di latenza misurati in secondi o minuti. L'elaborazione micro-batch è la modalità predefinita.

Entrambe le modalità utilizzano le stesse API di Streaming Strutturato. Per le query supportate da entrambe le modalità, puoi cambiare modalità tramite la configurazione di trigger e calcolo. Vedere Configurare la modalità in tempo reale.

Structured Streaming alimenta anche lo streaming nelle pipeline Lakeflow, basate su Apache Spark™ Declarative Pipelines. Le pipeline gestiscono l'orchestrazione, i checkpoint e il ripristino e definisci le trasformazioni in SQL o Python.

Per un'esercitazione dettagliata, vedere Esegui il tuo primo carico di lavoro Structured Streaming.

Leggere da un flusso dei dati

Usare Structured Streaming per inserire dati in modo incrementale da origini dati supportate.

Feature Descrizione
Caricatore automatico Elaborare in modo incrementale ed efficiente nuovi file di dati man mano che arrivano nell'archiviazione cloud.
Letture e scritture in streaming delle tabelle Delta Lake Usare le tabelle Delta Lake come origini e destinazioni di streaming garantendo un'elaborazione eseguita esattamente una volta.
API SQL e Spark Connettiti a bus di messaggi, code e applicazioni aziendali usando API SQL e Spark.
Dimensioni micro batch Limitare le frequenze di input per mantenere dimensioni batch coerenti e prevenire ritardi di elaborazione.

Scrivere in una destinazione dati

Configurare il modo in cui Structured Streaming distribuisce i dati ai sistemi di destinazione.

Feature Descrizione
Checkpoint Archiviare lo stato di elaborazione per consentire la tolleranza agli errori e la semantica di recapito esattamente una volta sola.
Modalità di output Scegliere tra le modalità di accodamento, aggiornamento e completamento per le query di streaming con stato.
Intervalli di trigger Regolare gli intervalli di trigger in modo da bilanciare la latenza e i costi per i requisiti di elaborazione.
Modalità in tempo reale in Structured Streaming Elaborare i dati per i carichi di lavoro in tempo reale con una latenza end-to-end bassa fino a cinque millisecondi.

Elaborazione con stato e senza stato

Le query senza stato elaborano le righe senza mantenere lo stato. Le query con stato mantengono lo stato intermedio per aggregazioni, join e deduplicazione.

Feature Descrizione
Query di streaming senza stato Ottimizzare le query che elaborano i dati senza mantenere lo stato intermedio.
Filigrane Controlla per quanto tempo Structured Streaming attende, nelle operazioni con stato, i dati che arrivano in ritardo.
Streaming con stato Gestisci aggregazioni, join tra flussi di dati e deduplicazione utilizzando operatori con stato.

Monitorare e gestire

Tenere traccia delle prestazioni delle query, applicare ottimizzazioni e gestire l'accesso ai dati per i carichi di lavoro Structured Streaming di produzione.

Feature Descrizione
Monitorare con StreamingQueryListener Tenere traccia dello stato delle query e delle metriche delle prestazioni usando l'interfaccia utente spark e l'API listener.
Tutorial: monitora una query con StreamingQueryListener Allega un listener e registra le metriche di progresso delle query a una tabella Unity Catalog.
Gestire con Unity Catalog Configurare il catalogo Unity per i carichi di lavoro di streaming con governance e controllo degli accessi.