Partage de technologie

Déclencheur de fenêtre Flink (Déclencheur) (2)

2024-07-08

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

Déclencheur de fenêtre Flink (Déclencheur) (1)
Déclencheur de fenêtre Flink (Déclencheur) (2)

Apache Flink est un framework de traitement de flux open source permettant de traiter des flux de données illimités et limités. Dans le fonctionnement de la fenêtre temporelle de Flink, le déclencheur est un concept très important, qui détermine le moment où la fenêtre doit être calculée et les résultats affichés. Les déclencheurs définissent les conditions dans lesquelles une fenêtre est prête à être traitée (c'est-à-dire lorsque les calculs sont déclenchés).
type de fenêtre

  • fenêtre de temps(Fenêtres temporelles) : fenêtres basées sur la division temporelle, telles que les fenêtres temporelles glissantes (Tumbling Time Windows) et les fenêtres temporelles glissantes (Sliding Time Windows).
  • fenêtre horaire de l'événement(Event Time Windows) : une fenêtre basée sur les horodatages des événements, qui peut gérer les données dans le désordre.

Déclenchement

Les déclencheurs sont utilisés pour définir les conditions lorsqu'une fenêtre est prête pour le calcul. Flink fournit des déclencheurs intégrés et permet aux utilisateurs de personnaliser les déclencheurs selon leurs besoins.

Déclencheur intégré

  • Déclencheur de temps de traitement : Un déclencheur basé sur le temps de traitement qui se déclenche chaque fois que l'intervalle de temps spécifié est atteint.
  • Déclencheur d'événement : Déclencheur basé sur l'heure de l'événement, déclenché lorsque l'heure de fin de la fenêtre atteint. Ceci convient au traitement de flux de données ordonnés ou non au moment de l'événement.
  • Compter les déclencheurs: Déclencheur basé sur le nombre d'éléments, déclenché lorsque le nombre d'éléments dans la fenêtre atteint le seuil spécifié.

Déclencheur personnalisé

Les utilisateurs peuvent créer des déclencheurs personnalisés en implémentant l'interface Trigger. Les déclencheurs personnalisés peuvent décider quand déclencher les calculs de fenêtre en fonction d'une logique complexe. Les déclencheurs personnalisés doivent généralement implémenter les méthodes suivantes :

  • surElement(élément, horodatage, fenêtre, ctx) : Appelé lorsqu'un élément est ajouté à la fenêtre.
  • sur l'heure de l'événement(time, window, ctx, out) : appelé lorsque l'heure de l'événement de la fenêtre arrive.
  • sur le temps de traitement(time, window, ctx, out) : Appelé lorsque le temps de traitement de la fenêtre arrive.
  • surMerge(autre) : appelé lorsque deux fenêtres sont fusionnées (par exemple, utilisé dans les fenêtres de session).
  • peut fusionner() : indique si le déclencheur prend en charge la fusion de fenêtres.

effet

  • La fonction principale des déclencheurs est de contrôler le timing de calcul des fenêtres, rendant les opérations de fenêtre de Flink plus flexibles et plus puissantes. En choisissant les bons déclencheurs, vous pouvez optimiser les performances et l'utilisation des ressources de vos applications de traitement de flux.

Exemple

Voici un exemple simple utilisant des fenêtres et des déclencheurs Flink (en supposant que l'API Java soit utilisée) :

DataStream