Apache Flink - Introduzione

Apache Flink è un framework di elaborazione in tempo reale in grado di elaborare dati in streaming. È un framework di elaborazione del flusso open source per applicazioni in tempo reale ad alte prestazioni, scalabili e accurate. Ha un vero modello di streaming e non accetta i dati di input come batch o micro-batch.

Apache Flink è stato fondato dalla società Data Artisans ed è ora sviluppato sotto licenza Apache dalla comunità di Apache Flink. Questa comunità ha oltre 479 collaboratori e oltre 15500 impegni finora.

Ecosistema su Apache Flink

Il diagramma riportato di seguito mostra i diversi livelli dell'ecosistema Apache Flink:

Conservazione

Apache Flink ha più opzioni da cui può leggere / scrivere dati. Di seguito è riportato un elenco di archiviazione di base:

  • HDFS (file system distribuito Hadoop)
  • File system locale
  • S3
  • RDBMS (MySQL, Oracle, MS SQL ecc.)
  • MongoDB
  • HBase
  • Apache Kafka
  • Apache Flume

Distribuisci

Puoi distribuire Apache Fink in modalità locale, modalità cluster o su cloud. La modalità cluster può essere standalone, YARN, MESOS.

Su cloud, Flink può essere distribuito su AWS o GCP.

Kernel

Questo è il livello runtime, che fornisce elaborazione distribuita, tolleranza agli errori, affidabilità, capacità di elaborazione iterativa nativa e altro ancora.

API e librerie

Questo è il livello superiore e il livello più importante di Apache Flink. Ha l'API Dataset, che si occupa dell'elaborazione in batch, e l'API Datastream, che si occupa dell'elaborazione del flusso. Esistono altre librerie come Flink ML (per l'apprendimento automatico), Gelly (per l'elaborazione di grafici), Tabelle per SQL. Questo livello fornisce diverse funzionalità ad Apache Flink.