Für eine effektive, schnelle und unmittelbarer Verarbeitung von Daten zur Analyse ist Data Streaming eine enorm wichtige und interessante Vorgehensweise. Apache Flink ist ein Open Source Tool, das diese Möglichkeiten bietet.
Apache Flink ist ein quelloffenes Stream Processing Framework, das leistungsstarke Stream- und Batch-Processing-Funktionen bietet.
(Bild: Flink.Apache.org)
Apache Flink ist ein Tool für das Data Streaming/Stream Processing von großen Datenmengen. Das quelloffene Stream Processing Framework bietet leistungsstarke Stream- und Batch-Processing-Funktionen.
Der Quellcode des Projektes steht auch auf GitHub zur Verfügung. Viele Anwendungen im Bereich der Datenanalyse erhalten mittlerweile ihre Daten in Echtzeit von einer großen Anzahl an Quellen. Im IoT-Bereich ist zum Beispiel das Streaming von Daten eher die Regel als die Ausnahme. Damit die Anwendungen, die diese Daten verarbeiten sollen, auch mit den richtigen Daten versorgt werden, sind Tools wie Apache Flink kaum mehr wegzudenken.
Die Möglichkeiten von Apache Flink im Überblick
(Bild: Flink.Apache.org)
Data Streaming reduziert die Notwendigkeit zur teuren Datenspeicherung
Muss eine Anwendung große Datenmengen aus verschiedenen Quellen analysieren, erfolgt häufig zunächst eine Speicherung der Daten in einer Datenbank. Aus dieser Datenbank heraus wird das Analyse-Programm mit den notwendigen Daten versorgt. Dadurch leidet natürlich die Leistung und gleichzeitig erhöhen sich die notwendigen Investitionen für die Analyse, da Massenspeicher in Form von Datenbanken natürlich teuer ist und entsprechender Speicherplatz notwendig ist.
Beim Einsatz von Data Streams oder Stream Processing ist keine Datenspeicherung und vorherige Aufbereitung der Daten notwendig. Durch Tools wie Apache Flink werden die eingehenden Daten in Echtzeit verarbeitet. Alle zu analysierenden Daten werden bereits beim Erstellen analysiert, ohne zuvor erst kompliziert und teuer gespeichert werden zu müssen. Tools wie Apache Flink helfen dabei, Datenströme zu empfangen und weiterzusenden. Dabei finden Analysen statt und die Lösung sorgt dafür, dass die Daten für das Analyseprogramm effizient und fehlertolerant zur Verfügung stehen. Die wichtigsten Features von Apache Flink sind:
APIs in Java und Scala
Eine Laufzeitumgebung, die gleichzeitig einen sehr hohen Durchsatz und eine geringe Ereignislatenz unterstützt
Unterstützung für Ereigniszeit und Out-of-Order-Verarbeitung in der DataStream-API, basierend auf dem Dataflow-Modell
Verschiedene Zeitsemantiken (Ereigniszeit, Verarbeitungszeit)
Fehlertoleranz mit Verarbeitungsgarantie
Natürliches back-pressure in Streaming-Programmen
Bibliotheken für Graphverarbeitung (Batch), maschinelles Lernen (Batch) und komplexe Ereignisverarbeitung (Streaming)
Integrierte Unterstützung für iterative Programme (BSP) in der DataSet-API (Batch)
Benutzerdefinierte Speicherverwaltung für Umschalten zwischen In-Memory- und Out-of-Core-Datenverarbeitungsalgorithmen
Kompatibilitätsschichten für Apache Hadoop MapReduce
Integration mit YARN, HDFS, HBase und anderen Komponenten des Apache-Hadoop-Ökosystems
Hoher Durchsatz und niedrige Latenz sind wichtig
Bei der Analyse der Daten spielt der Datendurchsatz eine wichtige Rolle. Dieser muss mit der Menge an Daten zurechtkommen, die zum Beispiel von den IoT-Sensoren versendet werden. Gleichzeitig muss die Latenz niedrig sind, damit diese Daten auch effektiv und schnell verarbeitet werden können.
Normalerweise arbeiten Anwendungen wie Apache Flink nie alleine. Solche Anwendungen erhalten Daten von Quellen, verarbeiten diese Daten, und senden diese anschließend an weitere Anwendungen. Das heißt, dass Flink nicht nur schnell Daten empfangen und verarbeiten muss, sondern die Daten auch in der Geschwindigkeit weitersenden kann, dass die Ziel-Anwendung die vorbereiteten Daten effektiv nutzen kann. Dazu kann Apache Flink die analysierten Daten und die Streams in Dateisystemen ablegen. Zum Einsatz kommen hier unter anderem HDFS oder S3. Auch das Speichern in herkömmlichen Datenbanken ist möglich, zum Beispiel Apache Cassandra oder ElasticSearch
Apache Flink ermöglicht eine sehr schnelle Verarbeitung von großen Datenmengen und ist in diesem Bereich auch in der Lage Berechnungen zustandsorientiert durchzuführen. Dabei ist das Tool auch genau in der Verarbeitung. Diese Kombination aus Leistungsfähigkeit, Geschwindigkeit und Genauigkeit macht Apache Flink ideal für den Einsatz in Umgebungen, in denen unbegrenzte Datenströme schnell und zuverlässig analysiert werden sollen. Ein Streaming-Beispiel sieht zum Beispielfolgendermaßen aus:
case class WordWithCount(word: String, count: Long)val text = env.socketTextStream(host, port, '\n')val windowCounts = text.flatMap { w => w.split("\\s") } .map { w => WordWithCount(w, 1) } .keyBy("word") .window(TumblingProcessingTimeWindow.of(Time.seconds(5))) .sum("count")windowCounts.print()
Apache Flink ist stark skalierbar
Gleichzeitig ist Apache auch stark skalierbar und kann die auf einer großen Anzahl von Clusterknoten eingehenden Daten verarbeiten. Das ermöglicht wiederum eine Zusammenarbeit mit anderen Verarbeitungslösungen wie Hadoop, YARN oder Apache Mesos. Beim Betrieb in einem Cluster kann mit Flink sichergestellt werden, dass die Analyse mit hoher Verfügbarkeit stattfinden kann.
Weitere Stärken sind die einfache Integration in bestehende Systeme. Dabei hilft auch die REST API, die Anwendungen steuern kann. Dazu kommen weitere APIs mit denen sich auch andere Frameworks und eine Vielzahl an Anwendungen anbinden lassen. Dazu kommen nahezu alle bekannten Operationen zum Verarbeiten von Daten. Diese Flexibilität ermöglicht es zum Beispiel den Zustand jedes eingehenden Ereignisses zu speichern und Timer zu hinterlegen. Zum Zeitpunkt des Auslösens des Timers kann Flink den Zustand des Ereignisses aufrufen und mit anderen Ereignissen für Berechnungen korrelieren.
Zusätzlich bietet Apache Flink auch eine API für den Zugriff auf Tabellen und eine SQL-Unterstützung für Abfragen. Diese Abfragen können auch auf die Quellen ausgeführt werden. Dadurch lassen sich Daten aus einer begrenzten Anzahl an Daten auslesen, aber auch aus kompletten Datenströmen. Weitere APIs ermöglichen auch die Verarbeitung komplexerer Daten und Muster in Ereignissen.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.