Definition

Was ist Apache Flink?

| Autor / Redakteur: Stefan Luber / Nico Litzel

(Bild: © aga7ta - stock.adobe.com)

Apache Flink ist ein Framework der Apache Software Foundation für das sogenannte Stream Processing. Es ermöglicht die kontinuierliche Verarbeitung von Datenströmen mit geringer Verzögerung. Das Framework ist einsetzbar für Big-Data-Anwendungen und Echtzeitanalysen.

Apache Flink ist in der Lage, sowohl kontinuierliche Datenströme als auch Stapeldaten zu verarbeiten. Es handelt sich um ein Framework der Apache Software Foundation, das als Open-Source Software verfügbar ist. Apache Flink hat sich aus einem Apache-Incubator-Projekt entwickelt und wurde zu einem Top-Level-Projekt. Die Veröffentlichung der Version 1.0.0 erfolgte im Jahr 2016. Die aktuellste Version des Frameworks ist die Version 1.7.2 (Stand März 2019). Apache Flink ermöglicht Echtzeitanalysen und kommt häufig im Big-Data-Umfeld zum Einsatz. Das Framework stellt Verfahren bereit, um Datenströme mit hoher Effizienz und Geschwindigkeit fehlertolerant zu verarbeiten. Neben dem Hadoop-Framework unterstützt es weitere Cluster-Computing-Frameworks. Typische Anwendungsbereiche für Apache Flink sind:

  • die Echtzeitkontrolle von Finanztransaktionen
  • die Echtzeitauswertung des Kunden- oder Userverhaltens auf Internetseiten
  • die Echtzeitverarbeitung großer Mengen von Sensordaten der automatisierten Prozesse der Industrie 4.0

Bekannte Unternehmen, die Apache Flink einsetzen, sind beispielsweise Uber und Netflix.

Was ist Stream Processing?

Beim Stream Processing werden Daten kontinuierlich mit geringer Verzögerung verarbeitet. Die Datenverarbeitung erfolgt quasi direkt zum Zeitpunkt, an dem die Informationen und Daten entstehen oder bereitgestellt werden. Diese Art der Datenprozessierung unterscheidet sich deutlich von herkömmlichen Datenverarbeitungsmethoden. Die klassischen Verarbeitungsprozesse arbeiten mit Datenbanken oder Datenservern und speichern die gelieferten Daten zunächst ab. Erst in einem weiteren Schritt greifen die verarbeitenden Anwendungen wie Analyseprogramme auf die in den Datenspeichern vorhandenen Informationen zu. Es entsteht ein relativ großer zeitlicher Versatz zwischen der Generierung und der Auswertung der Informationen.

Stream Processing hingegen erlaubt die unmittelbare Reaktion auf Ereignisse. Vor allem für Anwendungen, bei denen die Daten in kontinuierlichen Streams entstehen wie bei Sensordaten, Finanz-Transaktionsdaten oder User-Trackingdaten, bietet das Stream Processing zahlreiche Vorteile. Stream Processing ist darüber hinaus in der Lage, mehrere Datenstreams parallel zu verarbeiten. Aus jeden Stream lassen sich eigene Folgeaktionen und Analysen ableiten. Systeme, die Datenstreams empfangen und verarbeiten, werden Stream Prozessoren genannt.

Die Wichtigsten Merkmale, Funktionen und Eigenschaften von Apache Flink

Stream Processing und die Echtzeitanalyse stellt IT-Systeme vor einige Herausforderungen. Das Apache-Flink-Framework stellt Lösungen für das Stream Processing bereit, die diese Herausforderungen meistern. Eine wichtige Eigenschaft von Apache Flink ist die Fehlertoleranz. Das Framework ist für Cluster-Computing konzipiert und arbeitet in hochverfügbaren Systemen ohne Single Point of Failure. Bei Ausfällen einzelner Komponenten ist die Konsistenz aller Ereigniszustände wiederherstellbar.

Für die Stream-Processing-Anwendungen stellt Apache Flink mehrere APIs bereit. Die Basis-API ist die DataStream-API. Zum Steuern laufender Anwendungen ist eine REST-API vorhanden. Ebenfalls nutzbar sind eine Tabellen-API und die SQL-Unterstützung. Es lassen sich Schnittstellen zu Streaming- und Batch-Quellen realisieren. Neben den APIs verfügt Apache Flink über verschiedene Bibliotheken, die für die Prozessierung von Grafiken, für die Analytik oder für die Verarbeitung komplexer Ereignisse verwendet werden können. Eine dieser Bibliotheken ist die CEP-Bibliothek (Complex Event Processing).

Die Prozessfunktionen (ProcessFunctions) von Apache Flink erlauben es, den Zustand und die Zeit von Ereignissen zu kontrollieren. Ereigniszustände lassen sich speichern und mit Timern für zukünftige Berechnungen versehen. Für häufig verwendete Streaming- und Speichersysteme sind Konnektoren vorhanden. Zu den von Apache Flink unterstützten Dateisystemen zählen HDFS, NFS und S3.

Vorteile durch den Einsatz von Apache Flink

Apache Flink und das Stream Processing bieten zahlreiche Vorteile. Datenströme mit hohem Datenvolumen lassen sich mit geringer Verzögerung und hoher Geschwindigkeit verarbeiten und analysieren. Es sind sowohl kontinuierliche Datenströme als auch Daten eines Dateisystems lesbar. Anwendungen sind in der Lage, binnen Sekundenbruchteilen auf neue Informationen zu reagieren. Das Apache-Flink-Framework ist extrem skalierbar und fehlertolerant. Das Stream Processing dezentralisiert und entkoppelt die benötigte IT-Infrastruktur, da keine eigenen Datenbankstrukturen notwendig sind. Kurz zusammengefasst sind die Vorteile von Apache Flink folgende:

  • Echtzeitverarbeitung von Daten mit minimalem Zeitversatz
  • hoher Datendurchsatz
  • keine Datenbankinfrastruktur notwendig
  • Daten lassen sich so wie sie entstehen kontinuierlich verarbeiten
  • Fehlertoleranz und hohe Verfügbarkeit
  • die Konsistenz der Ereigniszustände ist zu jeder Zeit sichergestellt
  • auch für die Batch-Verarbeitung geeignet
  • gute Skalierbarkeit der Plattform
  • Unterstützung von SQL durch die SQL-API
  • Unterstützung zahlreicher Plattformen, Frameworks und Systeme wie Kafka, Kinesis, Kubernetes, YARN, HDFS und weiterer
  • Unterstützung und Support durch eine große Open-Source-Community

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Stateful Stream Processing mit Apache Flink

Kommentar von Fabian Hüske, Ververica

Stateful Stream Processing mit Apache Flink

Apache Flink ist für typische Geschäftsanwendungen gedacht, die bestimmte Geschäftslogiken auf kontinuierliche Datenflüsse in Echtzeit anwenden. lesen

Ververica-Plattform in Version 1.4.0 verfügbar

Stream Processing

Ververica-Plattform in Version 1.4.0 verfügbar

Ab sofort bietet Ververica (ehemals Data Artisans) seine Stream-Processing-Plattform in Version 1.4.0 an. Zu den Neuerungen zählen Verbesserungen bestehender Komponenten sowie zusätzliche Funktionen. lesen

Mit Apache Zeppelin Daten analysieren

Interaktives Notizbuch für Big Data

Mit Apache Zeppelin Daten analysieren

Das Apache-Toplevel-Projekt Zeppelin bietet ein Notizbuch für Daten aus anderen Systemen, mit denen Anwender diese effektiv analysieren können. Zeppelin arbeitet dazu eng mit Spark, Flink und Hadoop zusammen. lesen

Datenbasis für das IoT-Zeitalter

Crate.io

Datenbasis für das IoT-Zeitalter

IT-Spezialisten haben über Jahrzehnte SQL-Know-how aufgebaut, doch das IoT-Zeitalter erfordert die massenweise Verarbeitung von Echtzeit-Datenstreams, die von Sensoren erzeugt werden. Crate.io vereinigt beide Welten. lesen

Event Stream Processing im Jahr 2019

4 Gründe für Datenstromverarbeitung und Apache Flink

Event Stream Processing im Jahr 2019

Im Zuge von Big Data werden riesige Mengen an Daten erzeugt, verarbeitet und gespeichert. Event Stream Processing erlaubt die Datenverarbeitung nahezu in Echtzeit und ohne klassische Stapelverarbeitung. Vier Gründe sprechen laut data Artisans für die Technik. lesen

Datenstrom-Analyse für Java-Entwickler unter AWS

Amazon Kinesis Data Analytics

Datenstrom-Analyse für Java-Entwickler unter AWS

Die Echtzeit-Datenstrom-Analyse mit Amazon Kinesis ist jetzt auch für Java-Entwickler verfügbar. Hierfür können sie Apache Flink und das AWS SDK for Java als Bibliotheken in der integrierten Entwicklungsumgebung ihrer Wahl einbinden. lesen

Bietet Stream Processing für Entwickler Vorteile?

Näher am Geschehen mit Echtzeit-Analyse von Datenströmen

Bietet Stream Processing für Entwickler Vorteile?

Stream Processing erlaubt Echtzeit-Datenanalysen in hochskalierbaren Umgebungen. Doch sowohl auf Seiten der Entwickler als auch bei Bestandsdaten und -anwendungen erfordert die Adaption eine Neuausrichtung. lesen

Stream Processing befindet sich im Aufwind

Einschätzung von Data Artisans

Stream Processing befindet sich im Aufwind

Der Spezialist für Echtzeit-Datenanwendungen Data Artisans sieht einen Trend zum verstärkten Einsatz von Stream Processing. Schon jetzt werden Geschäftsdaten wie Sensormessungen, Website-Klicks oder Datenbankänderungen häufig als kontinuierlicher Ereignisstrom erzeugt. lesen

Alexa spricht Splunk

Nachbericht Splunk .conf 2018

Alexa spricht Splunk

Splunk, ein Spezialist für die Analyse von Maschinendaten, adressiert eine breitere Nutzerschicht, nämlich die Mitarbeiter in den Fachbereichen. Zahlreiche neue Funktionen, wie etwa mobile Apps und Sprachausgabe, sollen ihnen das Leben erleichtern. Neben zahlreichen Neuerungen in den Kernprodukten stellte Splunk seine eigene IIoT-Plattform für Industrie 4.0 vor. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45818769 / Definitionen)