Apache Flink - Wprowadzenie

Apache Flink to platforma przetwarzania w czasie rzeczywistym, która może przetwarzać dane strumieniowe. Jest to platforma przetwarzania strumienia typu open source dla wysokowydajnych, skalowalnych i dokładnych aplikacji czasu rzeczywistego. Ma prawdziwy model przesyłania strumieniowego i nie pobiera danych wejściowych jako partii lub mikro-partii.

Apache Flink został założony przez firmę Data Artisans i jest obecnie rozwijany na licencji Apache przez społeczność Apache Flink. Ta społeczność ma do tej pory ponad 479 współtwórców i ponad 15500 zatwierdzeń.

Ekosystem na Apache Flink

Poniższy diagram przedstawia różne warstwy ekosystemu Apache Flink -

Przechowywanie

Apache Flink ma wiele opcji, z których może odczytywać / zapisywać dane. Poniżej znajduje się podstawowa lista przechowywania -

  • HDFS (rozproszony system plików Hadoop)
  • Lokalny system plików
  • S3
  • RDBMS (MySQL, Oracle, MS SQL itp.)
  • MongoDB
  • HBase
  • Apache Kafka
  • Apache Flume

Rozmieścić

Możesz wdrożyć Apache Fink w trybie lokalnym, trybie klastra lub w chmurze. Tryb klastra może być samodzielny, YARN, MESOS.

W chmurze Flink można wdrożyć na AWS lub GCP.

Jądro

Jest to warstwa środowiska wykonawczego, która zapewnia przetwarzanie rozproszone, odporność na błędy, niezawodność, natywne możliwości iteracyjnego przetwarzania i nie tylko.

API i biblioteki

To jest górna warstwa i najważniejsza warstwa Apache Flink. Posiada Dataset API, które zajmuje się przetwarzaniem wsadowym oraz Datastream API, które zajmuje się przetwarzaniem strumieniowym. Istnieją inne biblioteki, takie jak Flink ML (do uczenia maszynowego), Gelly (do przetwarzania wykresów), Tables for SQL. Ta warstwa zapewnia różnorodne możliwości Apache Flink.