Erstellen Sie End-to-End-Streaming-Pipelines mit Amazon Managed Service for Apache Flink Blueprints mit einem einzigen Klick. Weitere Informationen.
Allgemeines
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
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.
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
- 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.
- 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.
- 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?
Verwalten von Anwendungen
- Die Überwachung von Amazon Managed Service für Apache Flink finden Sie im Entwicklerhandbuch zu Amazon Managed Service für Apache Flink.
- Die Überwachung von Amazon Managed Service für Apache Flink finden Sie im Entwicklerhandbuch zu Amazon Managed Service für Apache Flink Studio.
F: Wie verwalte und kontrolliere ich den Zugriff auf meine Anwendungen von Amazon Managed Service für Apache Flink?
- Gewähren von Berechtigungen im Entwicklerhandbuch zu Amazon Managed Service für Apache Flink.
- Gewähren von Berechtigungen im Entwicklerhandbuch zu Amazon Managed Service für Apache Flink Studio.
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.
Preise und Abrechnung
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.
Erstellen von Apache-Flink-Anwendungen
Erstellen von Anwendungscode für Anwendungen mit Apache Flink in Ihrer IDE
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"));
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.
- 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?
Erstellen von Anwendungen von Amazon Managed Service für Apache Flink Studio in einem verwalteten Notebook
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
Besuchen Sie die Preisseite für Amazon Kinesis Data Analytics.
Weitere Informationen zur Verwendung von Amazon Kinesis Data Analytics finden Sie in dieser Schritt-für-Schritt-Anleitung für SQL bzw. Apache Flink.
Erstellen Sie Ihre erste Streaming-Anwendung mit der Amazon Kinesis Data Analytics-Konsole.