Condivisione della tecnologia

Trigger della finestra Flink (Trigger) (2)

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Trigger della finestra Flink (Trigger) (1)
Trigger della finestra Flink (Trigger) (2)

Apache Flink è un framework di elaborazione di flussi open source per l'elaborazione di flussi di dati illimitati e limitati. Nel funzionamento della finestra temporale di Flink, il trigger è un concetto molto importante, che determina quando deve essere calcolata la finestra e l'output dei risultati. I trigger definiscono le condizioni per cui una finestra è pronta per essere elaborata (ovvero quando vengono avviati i calcoli).
tipo di finestra

  • finestra temporale(Time Windows): finestre basate sulla divisione del tempo, come finestre temporali scorrevoli (Tumbling Time Windows) e finestre temporali scorrevoli (Sliding Time Windows).
  • finestra temporale dell'evento(Finestre dell'ora dell'evento): una finestra basata sui timestamp degli eventi, che può gestire dati fuori ordine.

Grilletto

I trigger vengono utilizzati per definire le condizioni per quando una finestra è pronta per il calcolo. Flink fornisce alcuni trigger integrati e consente agli utenti di personalizzare i trigger secondo necessità.

Trigger integrato

  • Tempo di elaborazioneTrigger: un trigger basato sul tempo di elaborazione che si attiva ogni volta che viene raggiunto l'intervallo di tempo specificato.
  • EventoTimeTrigger : attivazione basata sull'ora dell'evento, attivata quando viene raggiunta l'ora di fine della finestra. Questo è adatto per l'elaborazione di flussi di dati di tempo di evento ordinati o non ordinati.
  • ConteggioTrigger: trigger basato sul numero di elementi, attivato quando il numero di elementi nella finestra raggiunge la soglia specificata.

Trigger personalizzato

Gli utenti possono creare trigger personalizzati implementando l'interfaccia Trigger. I trigger personalizzati possono decidere quando attivare i calcoli della finestra in base a una logica complessa. I trigger personalizzati in genere devono implementare i seguenti metodi:

  • suElemento(elemento, timestamp, finestra, ctx): chiamato quando un elemento viene aggiunto alla finestra.
  • all'ora dell'evento(time, window, ctx, out): chiamato quando arriva l'ora dell'evento della finestra.
  • inTempoDiElaborazione(time, window, ctx, out): chiamato quando arriva il tempo di elaborazione della finestra.
  • suUnisci(altro): chiamato quando due finestre vengono unite (ad esempio, utilizzato nelle finestre di sessione).
  • puòUnire(): indica se il trigger supporta l'unione delle finestre.

effetto

  • La funzione principale dei trigger è controllare i tempi di calcolo delle finestre, rendendo le operazioni delle finestre di Flink più flessibili e potenti. Scegliendo i trigger appropriati, puoi ottimizzare le prestazioni e l'utilizzo delle risorse delle tue applicazioni di elaborazione del flusso.

Esempio

Ecco un semplice esempio che utilizza finestre e trigger Flink (supponendo che venga utilizzata l'API Java):

DataStream