Apache Flink - Introduction

Apache Flink est un cadre de traitement en temps réel qui peut traiter des données en continu. Il s'agit d'un cadre de traitement de flux open source pour des applications en temps réel hautes performances, évolutives et précises. Il a un véritable modèle de streaming et ne prend pas les données d'entrée sous forme de lots ou de micro-lots.

Apache Flink a été fondé par la société Data Artisans et est maintenant développé sous licence Apache par Apache Flink Community. Cette communauté compte plus de 479 contributeurs et plus de 15500 commits à ce jour.

Écosystème sur Apache Flink

Le diagramme ci-dessous montre les différentes couches de l'écosystème Apache Flink -

Espace de rangement

Apache Flink dispose de plusieurs options à partir desquelles il peut lire / écrire des données. Voici une liste de stockage de base -

  • HDFS (système de fichiers distribué Hadoop)
  • Système de fichiers local
  • S3
  • SGBDR (MySQL, Oracle, MS SQL, etc.)
  • MongoDB
  • HBase
  • Apache Kafka
  • Apache Flume

Déployer

Vous pouvez déployer Apache Fink en mode local, en mode cluster ou sur le cloud. Le mode cluster peut être autonome, YARN, MESOS.

Sur le cloud, Flink peut être déployé sur AWS ou GCP.

Noyau

Il s'agit de la couche d'exécution, qui fournit un traitement distribué, une tolérance aux pannes, une fiabilité, une capacité de traitement itératif natif, etc.

API et bibliothèques

Il s'agit de la couche supérieure et de la couche la plus importante d'Apache Flink. Il dispose de l'API Dataset, qui s'occupe du traitement par lots, et de l'API Datastream, qui s'occupe du traitement des flux. Il existe d'autres bibliothèques telles que Flink ML (pour l'apprentissage automatique), Gelly (pour le traitement des graphiques), Tables pour SQL. Cette couche fournit diverses capacités à Apache Flink.