Allgemeines

F: Was ist Amazon Managed Service für Apache Flink?
Mit Amazon Managed Service für Apache Flink können Sie Streaming-Daten in Echtzeit mit Apache Flink umwandeln und analysieren. Apache Flink ist ein Open-Source-Framework und eine Engine zur Verarbeitung von Datenströmen. Amazon Managed Service für Apache Flink reduziert die Komplexität der Erstellung, Verwaltung und Integration von Apache-Flink-Anwendungen mit anderen AWS-Services.
 
Amazon Managed Service für Apache Flink kümmert sich um alles, was für die kontinuierliche Ausführung von Streaming-Anwendungen erforderlich ist. Außerdem passt es sich automatisch an den Umfang und den Durchsatz Ihrer eingehenden Daten an. Mit Amazon Managed Service für Apache Flink müssen keine Server verwaltet werden und es gibt keine Mindestgebühr oder Einrichtungskosten. Sie zahlen nur für die Ressourcen, die Ihre Streaming-Anwendungen verbrauchen.
 
F: Was ist die Stream-Verarbeitung in Echtzeit und wofür wird sie benötigt?
Aufgrund der explosionsartigen Zunahme von Echtzeit-Datenquellen erfassen Unternehmen Daten schneller als je zuvor. Ganz gleich, ob Sie Protokolldaten von mobilen und Webanwendungen, Kaufdaten von E-Commerce-Plattformen oder Sensordaten von IoT-Geräten verarbeiten – die Aufnahme von Daten in Echtzeit hilft Ihnen zu erfahren, was Ihre Kunden, Ihr Unternehmen und Ihr Geschäft gerade tun.
 
F: Was kann ich mit Amazon Managed Service für Apache Flink tun?
Sie können Amazon Managed Service für Apache Flink für viele Anwendungsfälle nutzen, um Daten kontinuierlich zu verarbeiten und Einblicke in Sekunden oder Minuten zu erhalten, anstatt Tage oder sogar Wochen warten zu müssen. Mit Amazon Managed Service für Apache Flink können Sie schnell durchgängige Anwendungen zur Stream-Verarbeitung für Protokollanalytik, Clickstream-Analytik, Internet der Dinge (IoT), Werbetechnologie, Spiele und mehr erstellen. Die vier häufigsten Anwendungsfälle sind das Streaming von Extract-Transform-Load (ETL), kontinuierliche Metrikgenerierung, reaktionsschnelle Echtzeit-Analytik und interaktive Abfragen von Datenströmen.
 
Streaming von ETL
Mit Streaming-ETL-Anwendungen können Sie Rohdaten vor dem Laden Ihres Data Lake oder Data Warehouse in Echtzeit bereinigen, anreichern, organisieren und transformieren und so Batch-ETL-Schritte reduzieren oder ganz eliminieren. Diese Anwendungen können kleine Datensätze vor der Übermittlung in größere Dateien puffern und anspruchsvolle Verknüpfungen über Streams und Tabellen hinweg durchführen. Sie können beispielsweise eine Anwendung erstellen, die kontinuierlich IoT-Sensorendaten liest, die in Amazon Managed Streaming für Apache Kafka (Amazon MSK) gespeichert sind, die Daten nach Sensortyp organisieren, Duplikate entfernen, Daten nach einem spezifischen Schema zu normalisieren und dann die Daten an Amazon Simple Storage Service (Amazon S3) zu übermitteln.
 
Kontinuierliche Erstellung von Metriken
Mit Anwendungen zur kontinuierlichen Metrikgenerierung können Sie die Entwicklung Ihrer Daten im Laufe der Zeit überwachen und verstehen. Ihre Anwendungen können Streaming-Daten zu wichtigen Informationen zusammenfassen und diese nahtlos in Berichtsdatenbanken und Überwachungsservices integrieren, um Ihre Anwendungen und Benutzer in Echtzeit zu bedienen. Mit Amazon Managed Service für Apache Flink können Sie Apache Flink-Code (in Java, Scala, Python oder SQL) verwenden, um kontinuierlich Zeitreihenanalysen über Zeitfenster hinweg zu generieren. Sie können beispielsweise ein Live-Leaderboard für ein Mobil-Computerspiel erstellen, indem Sie jede Minute die besten Spieler berechnen und das Ergebnis an Amazon DynamoDB senden. Sie können außerdem den Datenverkehr auf Ihrer Website nachverfolgen, indem Sie alle 5 Minuten die Anzahl der einzelnen Website-Besucher berechnen und dann die verarbeiteten Ergebnisse an Amazon Redshift senden.
 
Zugängliche Echtzeitanalysen
Reaktionsfähige Echtzeit-Analyseanwendungen senden Echtzeitalarme oder Benachrichtigungen, wenn bestimmte Metriken vordefinierte Schwellenwerte erreichen oder, in komplexeren Fällen, wenn Ihre Anwendung mithilfe von Machine Learning (ML)-Algorithmen Anomalien erkennt. Mit diesen Anwendungen können Sie sofort und in Echtzeit auf Veränderungen in Ihrem Unternehmen reagieren, z. B. indem Sie Benutzerabbrüche in mobilen Apps vorhersagen und fehlerhafte Systeme identifizieren. Eine Anwendung könnte zum Beispiel die Verfügbarkeit oder die Erfolgsquote einer kundenseitigen API im Zeitverlauf berechnen und dann die Ergebnisse an Amazon CloudWatch senden. Sie können eine weitere Anwendung erstellen, um nach Ereignissen zu suchen, die bestimmte Kriterien erfüllen, und dann automatisch die richtigen Kunden mithilfe von Amazon Kinesis Data Streams und Amazon Simple Notification Service (Amazon SNS) benachrichtigen.
 
Interaktive Analyse von Datenströmen
Mithilfe der interaktiven Analyse können Sie die Datenexploration in Echtzeit streamen. Mit Ad-hoc-Abfragen oder -Programmen können Sie Streams von Amazon MSK oder Amazon Kinesis Data Streams untersuchen und visualisieren, wie die Daten innerhalb dieser Streams aussehen. Sie können beispielsweise anzeigen, wie sich eine Echtzeitmetrik verhält, die den Durchschnitt über ein Zeitfenster berechnet, und die aggregierten Daten an ein Ziel Ihrer Wahl senden. Die interaktive Analyse hilft auch bei der iterativen Entwicklung von Anwendungen zur Stream-Verarbeitung. Die von Ihnen erstellten Abfragen werden kontinuierlich aktualisiert, wenn neue Daten eintreffen. Mit Amazon Managed Service für Apache Flink Studio können Sie diese Abfragen so bereitstellen, dass sie mit aktiviertem Auto Scaling und dauerhaften Zustandssicherungen kontinuierlich ausgeführt werden. 
 

Erste Schritte

F: Was sind die ersten Schritte mit Apache-Flink-Anwendungen für Amazon Managed Service für Apache Flink?
Melden Sie sich bei der Konsole von Amazon Managed Service für Apache Flink an und erstellen Sie eine neue Anwendung zur Stream-Verarbeitung. Sie können auch die AWS-CLI und die AWS-SDKs verwenden. Sobald Sie eine Anwendung erstellt haben, gehen Sie zu Ihrer bevorzugten integrierten Entwicklungsumgebung, stellen die Verbindung zu AWS her und installieren die Open-Source-Bibliotheken von Apache Flink und die AWS-SDKs in der Sprache Ihrer Wahl. Apache Flink ist ein Open-Source-Framework und eine Open-Source-Engine zur Verarbeitung von Datenströmen und AWS-SDKs. Die erweiterbaren Bibliotheken beinhalten über 25 vorgefertigte Operatoren zur Stream-Verarbeitung wie Window und Aggregat sowie AWS-Service-Integrationen wie Amazon MSK, Amazon Kinesis Data Streams, Amazon DynamoDB und Amazon Kinesis Data Firehose. Laden Sie Ihren Code nach der Erstellung in Amazon Managed Service für Apache Flink hoch. Der Service kümmert sich dann um alles, was für die kontinuierliche Ausführung Ihrer Anwendungen in Echtzeit erforderlich ist. Außerdem passt es sich automatisch an den Umfang und den Durchsatz Ihrer eingehenden Daten an. 
 
F: Was sind die ersten Schritte mit Apache-Beam-Anwendungen für Amazon Managed Service für Apache Flink?
Die Verwendung von Apache Beam zum Erstellen Ihrer Anwendung für Amazon Managed Service für Apache Flink ähnelt stark dem Einstieg in Apache Flink. Sie können den Anweisungen in der obigen Frage folgen. Stellen Sie sicher, dass Sie alle Komponenten installieren, die für die Ausführung von Anwendungen auf Apache Beam erforderlich sind, und befolgen Sie dabei die Anweisungen im Entwicklerhandbuch. Beachten Sie, dass Amazon Managed Service für Apache Flink Java-SDK nur unterstützt, wenn es auf Apache Beam ausgeführt wird. 
 
F: Was sind die ersten Schritte mit Amazon Managed Service für Apache Flink Studio?
Sie können über die Konsole von Amazon Managed Service für Apache Flink loslegen und ein neues Studio-Notebook erstellen. Sobald Sie das Notebook gestartet haben, können Sie es in Apache Zeppelin öffnen, um sofort Code in SQL, Python oder Scala zu schreiben. Sie können mithilfe der Notebook-Schnittstelle für Amazon Kinesis Data Streams, Amazon MSK und Amazon S3 mithilfe integrierter Integrationen und anderer von Apache Flink unterstützter Quellen und Ziele mit benutzerdefinierten Konnektoren interaktiv Anwendungen entwickeln. Sie können alle Operatoren verwenden, die Apache Flink in Flink SQL und der Tabellen-API unterstützt, um Ad-hoc-Abfragen von Datenströmen durchzuführen und Ihre Anwendung zur Stream-Verarbeitung zu entwickeln. Sobald Sie bereit sind, können Sie Ihren Code in wenigen Schritten erstellen und zu einer kontinuierlich laufenden Anwendung zur Stream-Verarbeitung mit Auto Scaling und dauerhaftem Zustand hochstufen. 
 
F: Was sind die Grenzen von Amazon Managed Service für Apache Flink?
Amazon Managed Service für Apache Flink skaliert Ihre Anwendung elastisch, um den Datendurchsatz Ihres Quell-Streams und die Komplexität Ihrer Abfragen in den meisten Szenarien zu berücksichtigen. Ausführliche Informationen zu Servicelimits für Apache-Flink-Anwendungen finden Sie im Abschnitt „Limits“ im Entwicklerhandbuch zu Amazon Managed Service für Apache Flink. 
 
F: Unterstützt Amazon Managed Service für Apache Flink die Schemaregistrierung?
Ja, durch die Verwendung von Apache-Flink-DataStream-Konnektoren können Anwendungen von Amazon Managed Service für Apache Flink AWS Glue Schema Registry verwenden, ein Serverless-Feature von AWS Glue. Sie können Apache Kafka, Amazon MSK und Amazon Kinesis Data Streams als Senke oder Quelle in Ihre Workloads für Amazon Managed Service für Apache Flink integrieren. Besuchen Sie das Entwicklerhandbuch zu AWS Glue Schema Registry, um loszulegen und mehr zu erfahren. 

Wichtige Konzepte

F: Was ist eine Anwendung von Amazon Managed Service für Apache Flink?
Bei einer Anwendung handelt es sich um die Entität von Amazon Managed Service für Apache Flink, mit der Sie arbeiten. Anwendungen von Amazon Managed Service für Apache Flink lesen und verarbeiten kontinuierlich Streaming-Daten in Echtzeit. Sie schreiben Anwendungscode in einer von Apache Flink unterstützten Sprache, um die eingehenden Streaming-Daten zu verarbeiten und eine Ausgabe zu erstellen. Anschließend schreibt Amazon Managed Service für Apache Flink die Ausgabe an ein konfiguriertes Ziel.
 
Jede Anwendung besteht aus drei Primärkomponenten:
 
  1. Eingabe: Die Eingabe ist die Streaming-Quelle für Ihre Anwendung. In der Eingabekonfiguration ordnen Sie die Streaming-Quellen Datenströmen zu. Daten fließen von Ihren Datenquellen in Ihre Datenströme. Sie verarbeiten Daten aus diesen Datenströmen mithilfe Ihres Anwendungscodes und senden verarbeitete Daten an nachfolgende Datenströme oder Ziele. Sie fügen Eingaben innerhalb des Anwendungscodes für Apache-Flink-Anwendungen und Studio-Notebooks sowie über die API für Anwendungen von Amazon Managed Service für Apache Flink hinzu. 
  2. Anwendungscode: Der Anwendungscode besteht aus einer Reihe von Apache-Flink-Operatoren, die Eingaben verarbeiten und Ausgaben erzeugen. In seiner einfachsten Form kann Anwendungscode ein einzelner Apache-Flink-Operator sein, der aus einem mit einer Streaming-Quelle verknüpften Datenstrom liest und in einen anderen mit einer Ausgabe verknüpften Datenstrom schreibt. Für ein Studio-Notebook könnte dies eine einfache Flink-SQL-Auswahlabfrage sein, wobei die Ergebnisse im Kontext innerhalb des Notebooks angezeigt werden. Sie können Apache-Flink-Code in den unterstützten Sprachen für Anwendungen von Amazon Managed Service für Apache Flink oder Studio-Notebooks schreiben.
  3. Ausgabe: Anschließend können Sie optional eine Anwendungsausgabe konfigurieren, um Daten an einem externen Ziel beizubehalten. Sie fügen diese Ausgaben in den Anwendungscode für Anwendungen von Amazon Managed Service für Apache Flink und Studio-Notebooks ein. 

F: Welcher Anwendungscode wird unterstützt?

Amazon Managed Service für Apache Flink unterstützt mit Java, Scala und Python erstellte Anwendungen mit den Open-Source-Bibliotheken von Apache Flink und Ihrem eigenen benutzerdefinierten Code. Amazon Managed Service für Apache Flink unterstützt auch mit Java erstellte Anwendungen mit den Open-Source-Apache-Beam-Bibliotheken und Ihrem eigenen Kundencode. Amazon Managed Service für Apache Flink Studio unterstützt Code, der mit Apache Flink-kompatiblem SQL, Python und Scala erstellt wurde.

Verwalten von Anwendungen

F: Wie kann ich den Betrieb und die Leistung meiner Anwendungen von Amazon Managed Service für Apache Flink überwachen?
AWS bietet verschiedene Tools, mit denen Sie Ihre Anwendungen von Amazon Managed Service für Apache Flink überwachen können, einschließlich Zugriff auf das Flink-Dashboard für Apache-Flink-Anwendungen. Sie können einige dieser Tools für die Überwachung ignorieren. Weitere Informationen zur Überwachung Ihrer Anwendung finden Sie in den folgenden Entwicklerhandbüchern: 
 

F: Wie verwalte und kontrolliere ich den Zugriff auf meine Anwendungen von Amazon Managed Service für Apache Flink?

Amazon Managed Service für Apache Flink benötigt Berechtigungen zum Lesen von Datensätzen aus den Streaming-Datenquellen, die Sie in Ihrer Anwendung angeben. Amazon Managed Service für Apache Flink benötigt außerdem Berechtigungen zum Schreiben Ihrer Anwendungsausgabe an angegebene Ziele in der Ausgabekonfiguration Ihrer Anwendung. Sie können diese Berechtigungen gewähren, indem Sie AWS Identity and Access Management (IAM)-Rollen erstellen, die Amazon Managed Service für Apache Flink übernehmen kann. Die Berechtigungen, die Sie dieser Rolle gewähren, legen fest, was Amazon Managed Service für Apache Flink tun kann, wenn der Service die Rolle übernimmt. Weitere Informationen finden Sie in den folgenden Entwicklerhandbüchern:

F: Wie skaliert Amazon Managed Service für Apache Flink meine Anwendung?

Amazon Managed Service für Apache Flink skaliert Ihre Anwendung elastisch, um den Datendurchsatz Ihres Quellstreams und Ihre Abfragekomplexität für die meisten Szenarien zu berücksichtigen. Amazon Managed Service für Apache Flink stellt Kapazität in Form von Amazon-KPUs bereit. Ein KPU stellt Ihnen 1 vCPU und 4 GB Speicher zur Verfügung. 

Für Apache-Flink-Anwendungen und Studio-Notebooks weist Amazon Managed Service für Apache Flink 50 GB laufenden Anwendungsspeicher pro KPU zu, den Ihre Anwendung für Prüfpunkte verwendet und der Ihnen über eine temporäre Festplatte zur Nutzung zur Verfügung steht. Ein Prüfpunkt ist eine aktuelle Sicherung Ihrer laufenden Anwendung, die verwendet wird, um sofort eine Anwendungsstörung zu beheben. Sie können auch die parallele Ausführung Ihrer Anwendungsaufgaben von Amazon Managed Service für Apache Flink (z. B. Lesen aus einer Quelle oder Ausführen eines Operators) mithilfe der Parameter Parallelism und ParallelismPerKPU in der API steuern. Parallelität definiert die Anzahl der gleichzeitigen Instances einer Aufgabe. Alle Operatoren, Quellen und Senken werden standardmäßig mit einer definierten Parallelität ausgeführt. Parallelität pro KPU definiert die Anzahl paralleler Aufgaben, die pro KPU Ihrer Anwendung standardmäßig geplant werden können. Weitere Informationen finden Sie unter Skalierung im Entwicklerhandbuch zu Amazon Managed Service für Apache Flink. 
 
F: Was sind bewährte Methoden für die Erstellung und Verwaltung meiner Anwendungen von Amazon Managed Service für Apache Flink?
Informationen zu bewährten Methoden für Apache Flink finden Sie im Abschnitt Bewährte Methoden im Entwicklerhandbuch zu Amazon Managed Service für Apache Flink. Der Abschnitt behandelt bewährte Methoden für Fehlertoleranz, Leistung, Protokollierung, Codierung und mehr. 
 
Informationen zu bewährten Methoden für Amazon Managed Service für Apache Flink Studio finden Sie im Abschnitt Bewährte Methoden im Entwicklerhandbuch zu Amazon Managed Service für Apache Flink Studio. Neben bewährten Methoden enthält dieser Abschnitt Beispiele für SQL-, Python- und Scala-Anwendungen, Anforderungen für das Bereitstellen Ihres Codes als kontinuierlich ausgeführte Anwendung zur Stream-Verarbeitung, Leistung, Protokollierung und vieles mehr.
 
F: Kann ich mit einer Anwendung von Amazon Managed Service für Apache Flink auf Ressourcen hinter einer Amazon VPC zugreifen?
Ja. Sie können auf Ressourcen hinter einer Amazon VPC zugreifen. Wie Sie Ihre Anwendung für den VPC-Zugriff konfigurieren, erfahren Sie im Abschnitt Verwenden einer Amazon VPC im Entwicklerhandbuch zu Amazon Managed Service für Apache Flink.
 
F: Kann eine einzelne Anwendung von Amazon Managed Service für Apache Flink Zugriff auf mehrere VPCs haben?
Nein. Sind mehrere Subnetze angegeben, müssen sich diese alle in derselben VPC befinden. Sie können mittels Peering eine Verbindung zu anderen VPCs herstellen.
 
F: Kann eine Anwendung von Amazon Managed Service für Apache Flink, die mit einer VPC verbunden ist, auf das Internet und AWS-Service-Endpunkte zugreifen?
Anwendungen von Amazon Managed Service für Apache Flink und Notebooks von Amazon Managed Service für Apache Flink Studio, die für den Zugriff auf Ressourcen in einer bestimmten VPC konfiguriert sind, verfügen standardmäßig nicht über Zugriff auf das Internet. Wie Sie den Zugriff auf das Internet für Ihre Anwendung konfigurieren, erfahren Sie im Abschnitt Internet- und Servicezugriff im Entwicklerhandbuch zu Amazon Managed Service für Apache Flink.

Preise und Abrechnung

F: Wie viel kostet Amazon Managed Service für Apache Flink?
Mit Amazon Managed Service für Apache Flink zahlen Sie nur für das, was Sie tatsächlich nutzen. Mit Amazon Managed Service für Apache Flink müssen Sie weder Ressourcen bereitstellen noch Vorabkosten zahlen. 

Ihnen wird ein Stundensatz berechnet, der auf der Anzahl der Amazon KPUs basiert, die zum Ausführen Ihrer Streaming-Anwendung verwendet werden. Eine einzelne KPU ist eine Einheit für die Stream-Verarbeitungskapazität, die aus 1 vCPU für Datenverarbeitung und 4 GB Speicher besteht. Amazon Managed Service für Apache Flink skaliert automatisch die Anzahl der KPUs, die Ihre Anwendung zur Stream-Verarbeitung benötigt. Die Anforderungen an Speicher und Rechenleistung variieren je nach Komplexität der Verarbeitung und dem Durchsatz der verarbeiteten Streaming-Daten. 
 
Für Apache-Flink- und Apache-Beam-Anwendungen wird Ihnen für die Orchestrierung der Anwendung eine einzige zusätzliche KPU pro Anwendung berechnet. Apache-Flink- und Apache-Beam-Anwendungen werden auch für das Ausführen von Anwendungsspeicher und dauerhafte Anwendungs-Backups berechnet. Die Ausführung von Anwendungsspeicher wird für zustandsbehaftete Verarbeitungsfunktionen im Amazon Managed Service für Apache Flink verwendet und pro GB/Monat berechnet. Dauerhafte Anwendungs-Backups sind optional, werden pro GB und Monat berechnet und bieten eine zeitpunktbezogene Wiederherstellung für Anwendungen. 
 
Für Amazon Managed Service für Apache Flink Studio wird Ihnen im Entwicklungs- oder interaktiven Modus ein zusätzlicher KPU für die Anwendungsorchestrierung und 1 KPU für die interaktive Entwicklung berechnet. Die Kosten für die Ausführung von Anwendungsspeicher werden Ihnen ebenfalls in Rechnung gestellt. Für dauerhafte Anwendungssicherungen werden Ihnen keine Gebühren berechnet.
 
Weitere Preisinformationen finden Sie auf der Preisseite für Amazon Managed Service für Apache Flink.
 
F: Werden mir Kosten für eine Anwendung von Amazon Managed Service für Apache Flink berechnet, die zwar ausgeführt wird, aber keine Daten aus der Quelle verarbeitet?
Für Apache-Flink- und Apache Beam-Anwendungen werden Ihnen mindestens 2 KPUs und 50 GB laufender Anwendungsspeicher in Rechnung gestellt, wenn Ihre Anwendung von Amazon Managed Service für Apache Flink ausgeführt wird.
 
Für Notebooks von Amazon Managed Service für Apache Flink Studio werden Ihnen mindestens 3 KPUs und 50 GB laufender Anwendungsspeicher berechnet, wenn Ihre Anwendung ausgeführt wird.
 
F: Gibt es neben den Kosten für Amazon Managed Service für Apache Flink noch weitere Kosten, die für mich anfallen könnten?
Amazon Managed Service für Apache Flink ist eine vollständig verwaltete Stream-Verarbeitungslösung, unabhängig von der Streaming-Quelle, von der sie Daten liest, und den Zielen, an die sie verarbeitete Daten schreibt. Die Services, die Sie in Ihrer Anwendung lesen und schreiben, werden Ihnen selbstständig in Rechnung gestellt.
 
F: Ist Amazon Managed Service für Apache Flink im kostenlosen Kontingent für AWS verfügbar?
Nein. Amazon Managed Service für Apache Flink ist derzeit nicht im kostenlosen Kontingent für AWS verfügbar.
F: Was ist Apache Flink?
Apache Flink ist ein Open-Source-Framework und Engine für Streaming und Batch-Datenverarbeitung. Es vereinfacht die Erstellung von Streaming-Anwendungen, da es leistungsstarke Operatoren bereitstellt und zentrale Streaming-Probleme wie die doppelte Verarbeitung löst. Apache Flink bietet Datenverteilung, Kommunikation und Fehlertoleranz für verteilte Berechnungen über Datenströme.
 
F: Wie entwickle ich Anwendungen?
Sie können damit beginnen, die Open-Source-Bibliotheken herunterzuladen, darunter das AWS-SDK, Apache Flink und Konnektoren für AWS-Services. Anweisungen zum Herunterladen der Bibliotheken und zum Erstellen Ihrer ersten Anwendung erhalten Sie im Entwicklerhandbuch zu Amazon Managed Service für Apache Flink.
 
F: Wie sieht mein Anwendungscode aus?
Sie schreiben Ihren Apache Flink-Code mit Daten-Streams und Stream-Operatoren. Anwendungs-Daten-Streams sind die Datenstruktur, die Sie in Ihrem Code verarbeiten. Die Daten fließen kontinuierlich von den Quellen in die Anwendungs-Datenströme. Ein oder mehrere Stream-Operatoren werden verwendet, um Ihre Verarbeitung des Anwendungs-Datenströme zu definieren, einschließlich transform, partition, aggregate, join und window. Datenströme und Operatoren können in seriellen und parallelen Ketten zusammengefügt werden. Ein kurzes Beispiel für die Verwendung von Pseudocode ist unten dargestellt.
DataStream <GameEvent> rawEvents = env.addSource(
 New KinesisStreamSource(“input_events”));
DataStream <UserPerLevel> gameStream =
 rawEvents.map(event - > new UserPerLevel(event.gameMetadata.gameId, 
   event.gameMetadata.levelId,event.userId));
gameStream.keyBy(event -> event.gameId)
            .keyBy(1)
            .window(TumblingProcessingTimeWindows.of(Time.minutes(1)))
            .apply(...) - > {...};
gameStream.addSink(new KinesisStreamSink("myGameStateStream"));
F: Wie verwende ich die Apache-Flink-Operatoren?
Operatoren nehmen einen Anwendungs-Datenstrom als Eingabe und senden verarbeitete Daten als Ausgabe zu einem Anwendungs-Datenstrom. Operatoren können zusammengefügt werden, um Anwendungen in mehreren Schritten zu erstellen, und benötigen für die Implementierung und den Betrieb keine fortgeschrittenen Kenntnisse verteilter Systeme.
 
F: Welche Operatoren werden unterstützt?
Amazon Managed Service für Apache Flink unterstützt alle Operatoren von Apache Flink, die zur Lösung einer Vielzahl von Anwendungsfällen verwendet werden können, darunter Map, KeyBy, Aggregationen, Window Join und mehr. Mit dem Map-Operator können Sie beispielsweise eine beliebige Verarbeitung durchführen, indem Sie ein Element aus einem eingehenden Datenstrom entnehmen und ein anderes Element erstellen. KeyBy organisiert Daten logisch mithilfe eines angegebenen Schlüssels, sodass Sie ähnliche Datenpunkte gemeinsam verarbeiten können. Aggregationen führen die Verarbeitung über mehrere Schlüssel hinweg durch, z. B. Summe, Min. und Max. Window Join verbindet zwei Datenströme auf einem bestimmten Schlüssel und Fenster. 

Sie können benutzerdefinierte Operatoren erstellen, wenn diese Ihren Anforderungen nicht entsprechen. Weitere Beispiele finden Sie im Abschnitt Operatoren im Entwicklerhandbuch zu Amazon Managed Service für Apache Flink. Eine vollständige Liste der Apache-Flink-Operatoren finden Sie in der Apache-Flink-Dokumentation
 
F: Welche Integrationen werden in einer Anwendung von Amazon Managed Service für Apache Flink unterstützt?
Sie können vorgefertigte Integrationen von Apache Flink mit minimalem Code einrichten oder Ihre eigene Integration erstellen, um eine Verbindung zu praktisch jeder Datenquelle herzustellen. Die auf Apache Flink basierenden Open-Source-Bibliotheken unterstützen Streaming-Quellen und -Ziele oder Senken, um die Datenbereitstellung zu verarbeiten. Dazu gehört auch die Unterstützung der Datenanreicherung durch asynchrone E/A-Konnektoren. Einige dieser Konnektoren beinhalten Folgendes:
 
  • Streaming-Datenquellen: Amazon Managed Streaming für Apache Kafka (Amazon MSK), Ziele von Amazon Kinesis Data Streams oder Senken: Amazon Kinesis Data Streams
  • Amazon Kinesis Data Firehose, Amazon DynamoDB, Amazon Elasticsearch Service und Amazon S3 (durch die Senken-Integrationen)

F: Können Anwendungen von Amazon Managed Service für Apache Flink Daten über Streams und Themen hinweg replizieren?

Ja. Sie können Anwendungen von Amazon Managed Service für Apache Flink verwenden, um Daten zwischen Amazon Kinesis Data Streams, Amazon MSK und anderen Systemen zu replizieren. Ein Beispiel aus unserer Dokumentation zeigt, wie ein Amazon-MSK-Thema ausgelesen und ein anderes beschrieben wird.
 
F: Werden benutzerdefinierte Integrationen unterstützt?
Sie können eine Quelle oder ein Ziel zu Ihrer Anwendung hinzufügen, indem Sie diese auf einem Satz Primitives aufbauen, die es Ihnen ermöglichen, von Dateien Verzeichnissen, Sockets und allem, auf das Sie über das Internet zugreifen können, zu lesen und zu schreiben, Apache Flink stellt diese Primitives für Datenquellen und Daten-Sinks bereit. Die Primitives werden mit Konfigurationen geliefert, wie der Möglichkeit Daten kontinuierlich oder einmal, asynchron oder synchron zu lesen und zu schreiben, und vieles mehr. Sie können beispielsweise eine Anwendung so einrichten, dass sie kontinuierlich von Amazon S3 liest, indem Sie die vorhandene dateibasierte Quellintegration erweitern.
 
F: Welches Bereitstellungs- und Verarbeitungsmodell bieten Anwendungen von Amazon Managed Service für Apache Flink?
Apache-Flink-Anwendungen im Amazon Managed Service für Apache Flink nutzen ein Modell der einmaligen Bereitstellung, wenn eine Anwendung mithilfe von idempotenten Operatoren entwickelt wird, einschließlich Quellen und Senken. Dies bedeutet, dass sich die verarbeiteten Daten nur einmal und ein einziges Mal auf die nachgelagerten Ergebnisse auswirken.
 
Standardmäßig verwenden Anwendungen von Amazon Managed Service für Apache Flink die einmalige Apache-Flink-Semantik. Ihre Anwendung unterstützt die einmalige Verarbeitungssemantik, wenn Sie Ihre Anwendungen mithilfe von Quellen, Operatoren und Senken entwickeln, die die einmalige Semantik von Apache Flink verwenden
 
Q: Muss ich auf lokalen Speicher von meinem Anwendungsspeicher aus zugreifen?
Ja. Anwendungen von Amazon Managed Service für Apache Flink stellen Ihrer Anwendung 50 GB laufenden Anwendungsspeicher pro KPU zur Verfügung. Amazon Managed Service für Apache Flink skaliert den Speicher mit Ihrer Anwendung. Laufender Anwendungsspeicher wird verwendet, um den Anwendungsstatus mithilfe von Prüfpunkten zu speichern. Darüber hinaus kann Ihr Anwendungscode darauf zugreifen und es als temporäre Festplatte zum Zwischenspeichern von Daten oder für andere Zwecke verwenden. Amazon Managed Service für Apache Flink kann jederzeit Daten aus dem laufenden Anwendungsspeicher entfernen, die nicht über Prüfpunkte (z. B. Operatoren, Quellen, Senken) gespeichert wurden. Alle im laufenden Anwendungsspeicher gespeicherten Daten sind im Ruhezustand verschlüsselt.
 
F: Wie sichert Amazon Managed Service für Apache Flink meine Anwendung automatisch?
Amazon Managed Service für Apache Flink sichert den Status Ihrer laufenden Anwendung automatisch mithilfe von Prüfpunkten und Snapshots. Prüfpunkte speichern den aktuellen Anwendungsstatus und ermöglichen Anwendungen von Amazon Managed Service für Apache Flink, die Anwendungsposition wiederherzustellen, um dieselbe Semantik wie eine fehlerfreie Ausführung bereitzustellen. Prüfpunkte verwenden laufenden Anwendungsspeicher. Prüfpunkte für Apache-Flink-Anwendungen werden über die Funktionalität von Prüfpunkten von Apache Flink bereitgestellt. Snapshots speichern einen Point-in-Time-Wiederherstellungspunkt für Anwendungen und verwenden dauerhafte Anwendungs-Backups. Snapshots ähneln Flink-Speicherpunkten.
 
F: Was sind Anwendungs-Snapshots?
Mit Snapshots können Sie Ihre Anwendung zu einem früheren Zeitpunkt erstellen und wiederherstellen. Dadurch können Sie den vorherigen Anwendungsstatus beibehalten und Ihre Anwendung jederzeit zurücksetzen. Sie steuern, wie viele Snapshots Sie zu einem bestimmten Zeitpunkt haben, von Null bis zu Tausenden von Snapshots. Snapshots verwenden dauerhafte Anwendungssicherungen und Amazon Managed Service für Apache Flink berechnet Ihnen basierend auf deren Größe Gebühren. Amazon Managed Service für Apache Flink verschlüsselt in Snapshots gespeicherte Daten standardmäßig. Sie können einzelne Snapshots über die API löschen. Oder alle Snapshots, indem Sie Ihre Anwendung löschen.
 
F: Welche Versionen von Apache Flink werden unterstützt?
Weitere Informationen zu den unterstützten Apache-Flink-Versionen finden Sie auf der Seite mit den Versionshinweisen zu Amazon Managed Service für Apache Flink. Diese Seite enthält auch die Versionen von Apache Beam, Java, Scala, Python und AWS-SDKs, die Amazon Managed Service für Apache Flink unterstützt. 
 
F: Können Anwendungen von Amazon Managed Service für Apache Flink Apache Beam ausführen?
Ja, Amazon Managed Service für Apache Flink unterstützt Streaming-Anwendungen, die mit Apache Beam erstellt wurden. Sie können Apache-Beam-Streaming-Anwendungen in Java erstellen und sie in verschiedenen Engines und Services ausführen, einschließlich der Verwendung von Apache Flink im Amazon Managed Service für Apache Flink. Informationen zu unterstützten Apache-Flink- und Apache-Beam-Versionen finden Sie im Entwicklerhandbuch zu Amazon Managed Service für Apache Flink

F: Wie entwickle ich eine Studio-Anwendung?
Sie können in wenigen Schritten von den Konsolen von Amazon Managed Service für Apache Flink Studio, Amazon Kinesis Data Streams oder Amazon MSK aus ein Serverless-Notebook starten, um sofort Datenströme abzufragen und interaktive Datenanalysen durchzuführen.
 
Interaktive Datenanalyse: Sie können im Notebook Code in SQL, Python oder Scala schreiben, um mit Ihren Streaming-Daten zu interagieren, wobei die Reaktionszeiten für Abfragen im Sekundenbereich liegen. Sie können integrierte Visualisierungen verwenden, um Daten zu erkunden, Echtzeit-Einblicke in Ihre Streaming-Daten von Ihrem Notebook aus anzeigen und Anwendungen zur Stream-Verarbeitung entwickeln, die von Apache Flink unterstützt werden.

Sobald Ihr Code für die Ausführung als Produktionsanwendung bereit ist, können Sie mit einem einzigen Schritt zu einer Anwendung zur Stream-Verarbeitung übergehen, die Gigabytes an Daten pro Sekunde ohne Server verarbeitet.

Anwendung zur Stream-Verarbeitung: Sobald Sie bereit sind, Ihren Code für die Produktion bereitzustellen, können Sie Ihren Code entwickeln, indem Sie in der Benutzeroberfläche des Notebooks auf „Als Anwendung zur Stream-Verarbeitung bereitstellen“ klicken oder einen einzelnen Befehl in der CLI eingeben. Studio kümmert sich um die gesamte Infrastrukturverwaltung, die erforderlich ist, damit Sie Ihre Anwendung zur Stream-Verarbeitung in großem Umfang ausführen können. Dabei werden Auto Scaling und dauerhafter Status ermöglicht, genau wie bei einer Anwendung von Amazon Managed Service für Apache Flink.

F: Wie sieht mein Anwendungscode aus?
Sie können im Notebook Code in Ihrer bevorzugten Sprache, SQL, Python oder Scala schreiben, indem Sie die Tabellen-API von Apache Flink verwenden. Die Tabellen-API ist eine relationale Abstraktions-API auf hoher Ebene, die eine Obermenge der SQL-Funktionen unterstützt. Diese bietet bekannte Vorgänge wie Auswählen, Filtern, Verknüpfen, Gruppieren nach, Aggregieren usw. sowie Stream-spezifische Konzepte, wie Windowing. Mit % legen Sie die in einem Abschnitt des Notebooks zu verwendende Sprache fest und können zwischen den Sprachen wechseln. Interpreter sind Apache-Zeppelin-Plug-ins, sodass Sie für jeden Abschnitt des Notebooks eine Sprache oder Datenverarbeitungs-Engine angeben können. Sie können auch benutzerdefinierte Funktionen erstellen und auf diese verweisen, um die Codefunktionalität zu verbessern.

F: Welche SQL-Operationen werden unterstützt?
Sie können SQL-Operationen wie die folgenden durchführen:

  • Scannen und filtern (SELECT, WHERE) 
  • Aggregationen (GROUP BY, GROUP BY WINDOW, HAVING) 
  • Satz (UNION, UNIONALL, INTERSECT, IN, EXISTS) 
  • Auftrag (ORDER BY, LIMIT) 
  • Joins (INNER, OUTER, Zeitfenster – BETWEEN, AND, Verknüpfung mit temporären Tabellen – Tabellen, die Änderungen im Zeitverlauf verfolgen)
  • Top-N
  • Deduplizierung
  • Mustererkennung 

Bei einigen dieser Abfragen, wie z. B. GROUP BY, OUTER JOIN und Top-N, handelt es sich um Ergebnisaktualisierungen für Streaming-Daten, was bedeutet, dass die Ergebnisse während der Verarbeitung der Streaming-Daten kontinuierlich aktualisiert werden. Andere DDL-Anweisungen wie CREATE, ALTER und DROP werden ebenfalls unterstützt. Eine vollständige Liste der Abfragen und Beispiele finden Sie in der Dokumentation zu Apache-Flink-Abfragen.

F: Wie werden Python und Scala unterstützt?

Die Tabellen-API von Apache Flink unterstützt Python und Scala durch Sprachintegration mit Python-Strings und Scala-Ausdrücken. Die unterstützten Vorgänge sind den unterstützten SQL-Vorgängen sehr ähnlich, einschließlich Auswählen, Auftrag, Gruppieren, Join, Filtern und Windowing. Eine vollständige Liste der Vorgänge und Beispiele finden Sie in unserem Entwicklerhandbuch.

F: Welche Versionen von Apache Flink und Apache Zeppelin werden unterstützt?

Weitere Informationen zu den unterstützten Apache-Flink-Versionen finden Sie auf der Seite mit den Versionshinweisen zu Amazon Managed Service für Apache Flink. Diese Seite enthält auch die Versionen von Apache Zeppelin, Apache Beam, Java, Scala, Python und AWS SDKs, die Amazon Managed Service für Apache Flink unterstützt.

F: Welche Integrationen werden standardmäßig in einer Anwendung von Amazon Managed Service für Apache Flink Studio unterstützt?

  • Datenquellen: Amazon Managed Streaming für Apache Kafka (Amazon MSK), Amazon Kinesis Data Streams, Amazon S3 
  • Ziele, oder Sinks: Amazon MSK, Amazon Kinesis Data Streams und Amazon S3

F: Werden benutzerdefinierte Integrationen unterstützt?
Mit ein paar weiteren Schritten und Zeilen Apache-Flink-Code (Python, Scala oder Java) können Sie zusätzliche Integrationen konfigurieren, um Verbindungen mit allen von Apache Flink unterstützten Integrationen zu definieren. Dazu gehören Ziele wie Amazon OpenSearch Service, Amazon ElastiCache für Redis, Amazon Aurora, Amazon Redshift, Amazon DynamoDB, Amazon Keyspaces und mehr. Sie können ausführbare Dateien für diese benutzerdefinierten Konnektoren anfügen, wenn Sie Ihre Anwendung von Amazon Managed Service für Apache Flink Studio erstellen oder konfigurieren.

Service-Vereinbarung

F: Was garantiert der SLA für Amazon Managed Service für Apache Flink?

Unsere Service-Vereinbarung (SLA) garantiert eine monatliche Betriebszeit von mindestens 99,9 % für Amazon Managed Service für Apache Flink.

F: Wie erfahre ich, ob ich für eine Gutschrift aus dem SLA qualifiziert bin?

Sie haben Anspruch auf eine SLA-Service-Gutschrift für Amazon Managed Service für Apache Flink im Rahmen des SLA für Amazon Managed Service für Apache Flink, wenn mehr als eine Availability Zone, in der Sie eine Aufgabe innerhalb derselben AWS-Region ausführen, während eines monatlichen Abrechnungszeitraums einen monatlichen Betriebszeitprozentsatz von weniger als 99,9 % aufweist. Ausführliche Informationen zu allen SLA-Bedingungen sowie Einzelheiten zum Einreichen eines Anspruchs finden Sie auf der SLA-Detailseite zu Amazon Managed Service für Apache Flink.

Erste Schritte mit Amazon Kinesis Data Analytics

Seite zur Preisgestaltung f&uuml;r Kinesis Data Analytics besuchen
Kosten berechnen

Besuchen Sie die Preisseite für Amazon Kinesis Data Analytics.

Read the documentation
Lesen Sie das Handbuch „Erste Schritte“

Weitere Informationen zur Verwendung von Amazon Kinesis Data Analytics finden Sie in dieser Schritt-für-Schritt-Anleitung für SQL bzw. Apache Flink.

Beginnen Sie mit dem Erstellen in der Konsole
Streaming-Anwendungen entwickeln

Erstellen Sie Ihre erste Streaming-Anwendung mit der Amazon Kinesis Data Analytics-Konsole.