Was ist Amazon Managed Service für Apache Flink? - Managed Service für Apache Flink

Amazon Managed Service für Apache Flink war zuvor als Amazon Kinesis Data Analytics für Apache Flink bekannt.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Was ist Amazon Managed Service für Apache Flink?

Mit Amazon Managed Service für Apache Flink können Sie Java, Scala, Python oder SQL zur Verarbeitung und Analyse von Streaming-Daten verwenden. Der Service ermöglicht es Ihnen, Code für Streaming-Quellen und statische Quellen zu erstellen und auszuführen, um Zeitreihenanalysen durchzuführen, Echtzeit-Dashboards und Metriken bereitzustellen.

Mithilfe von Open-Source-Bibliotheken, die auf Apache Flink basieren, können Sie in Managed Service für Apache Flink Anwendungen mit der Sprache Ihrer Wahl erstellen. Apache Flink ist ein beliebtes Framework und eine verteilte Engine zum Verarbeiten von Datenströmen.

Managed Service für Apache Flink stellt die zugrunde liegende Infrastruktur für Ihre Apache-Flink-Anwendungen bereit. Es verarbeitet Kernfunktionen wie die Bereitstellung von Rechenressourcen, AZ-Failover-Resilienz, parallel Berechnung, automatische Skalierung und Anwendungs-Backups (implementiert als Checkpoints und Snapshots). Sie können die allgemeinen Flink-Programmier-Features (wie Operatoren, Funktionen, Quellen und Senken) genauso verwenden, wie Sie sie verwenden, wenn Sie die Flink-Infrastruktur selbst hosten.

Sie haben zwei Möglichkeiten, Ihre Flink-Jobs mit Amazon Managed Service für Apache Flink auszuführen. Mit Managed Service für Apache Flink erstellen Sie Flink-Anwendungen in Java, Scala oder Python (und eingebettetSQL), indem Sie eine IDE Ihrer Wahl und den Apache Flink Datastream oder Table verwenden. APIs Mit Managed Service für Apache Flink Studio können Sie Datenströme interaktiv in Echtzeit abfragen und auf einfache Weise Streamverarbeitungsanwendungen mit StandardSQL, Python und Scala erstellen und ausführen.

Sie können auswählen, welche Methode am besten zu Ihrem Anwendungsfall passt. Wenn Sie sich nicht sicher sind, finden Sie in diesem Abschnitt allgemeine Anleitungen, die Ihnen weiterhelfen sollen.

Decision tree for selecting Flink application, Deployed Studio application, or Studio Notebook based on use case and programming experience.

Bevor Sie sich entscheiden, ob Sie Amazon Managed Service für Apache Flink oder Amazon Managed Service für Apache Flink Studio verwenden möchten, sollten Sie Ihren Anwendungsfall berücksichtigen.

Wenn Sie planen, eine lang laufende Anwendung zu betreiben, die Workloads wie Streaming ETL oder Continuous Applications übernimmt, sollten Sie die Verwendung von Managed Service für Apache Flink in Betracht ziehen. Das liegt daran, dass Sie Ihre Flink-Anwendung mit dem Flink APIs direkt in der IDE Umgebung Ihrer Wahl erstellen können. Durch die lokale Entwicklung mit Ihrem können Sie IDE außerdem sicherstellen, dass Sie die gängigen Prozesse und Tools des Softwareentwicklungszyklus (SDLC) wie Codeversionierung in Git, CI/CD-Automatisierung oder Unit-Tests nutzen können.

Wenn Sie an der Ad-hoc-Datenexploration interessiert sind, Streaming-Daten interaktiv abfragen oder private Echtzeit-Dashboards erstellen möchten, hilft Ihnen Managed Service für Apache Flink Studio dabei, diese Ziele mit nur wenigen Klicks zu erreichen. Benutzer, die damit vertraut sind, SQL können erwägen, eine Anwendung mit langer Laufzeit direkt von Studio aus bereitzustellen.

Anmerkung

Sie können Ihr Studio-Notizbuch zu einer Anwendung mit langer Laufzeit heraufstufen. Wenn Sie jedoch SDLC Tools wie Codeversionierung auf Git und CI/CD-Automatisierung oder Techniken wie Unit-Tests integrieren möchten, empfehlen wir Managed Service for Apache Flink, das Ihrer Wahl zu verwenden. IDE

Sie können Anwendungen mit Java, Python und Scala in Managed Service für Apache Flink erstellen, indem Sie Apache Flink APIs in IDE einer Ihrer Wahl verwenden. Anleitungen zum Erstellen von Anwendungen mithilfe von Flink Datastream und Table finden Sie in der Dokumentation. API Sie können die Sprache, in der Sie Ihre Flink-Anwendung erstellen, und die Sprache, die APIs Sie verwenden, auswählen, um den Anforderungen Ihrer Anwendung und Ihres Betriebs am besten gerecht zu werden. Wenn Sie sich nicht sicher sind, finden Sie in diesem Abschnitt allgemeine Anleitungen, die Ihnen weiterhelfen sollen.

Die Apache Flink APIs haben unterschiedliche Abstraktionsebenen, die sich darauf auswirken können, wie Sie Ihre Anwendung erstellen. Sie sind ausdrucksstark und flexibel und können zusammen verwendet werden, um Ihre Anwendung zu erstellen. Sie müssen nicht nur einen Flink API verwenden. Sie können mehr über den Flink APIs in der Apache Flink-Dokumentation erfahren.

Flink bietet vier API Abstraktionsebenen: FlinkSQL, Table und Process Function API DataStream API, die in Verbindung mit dem verwendet wird. DataStream API Diese werden alle in Amazon Managed Service für Apache Flink unterstützt. Es ist ratsam, wenn möglich mit einer höheren Abstraktionsebene zu beginnen. Einige Flink-Funktionen sind jedoch nur mit dem Datastream verfügbar, mit API dem Sie Ihre Anwendung in Java, Python oder Scala erstellen können. Sie sollten die Verwendung des Datastreams in Betracht ziehen, wenn: API

  • Sie benötigen eine detaillierte Kontrolle über den Status

  • Sie möchten die Möglichkeit nutzen, eine externe Datenbank oder einen externen Endpunkt asynchron aufzurufen (z. B. für Inferenzen)

  • Sie möchten benutzerdefinierte Timer verwenden (z. B. um benutzerdefiniertes Windowing oder Late-Event-Handling zu implementieren)

  • Sie möchten in der Lage sein, den Ablauf Ihrer Anwendung zu ändern, ohne den Status zurückzusetzen

Apache Flink APIs diagram showing abstraction levels and programming languages for different APIs.
Anmerkung

Wählen Sie eine Sprache mit: DataStream API

  • SQLkann in jede Flink-Anwendung eingebettet werden, unabhängig von der gewählten Programmiersprache.

  • Wenn Sie planen DataStream API, den zu verwenden, werden nicht alle Konnektoren in Python unterstützt.

  • Wenn Sie eine niedrige Latenz/einen hohen Durchsatz benötigen, sollten Sie Java/Scala unabhängig davon in Betracht ziehen. API

  • Wenn Sie Async IO in den Prozessfunktionen verwenden möchten, müssen Sie Java verwenden. API

Die Wahl von API kann sich auch auf Ihre Fähigkeit auswirken, die Anwendungslogik weiterzuentwickeln, ohne den Status zurücksetzen zu müssen. Dies hängt von einer bestimmten Funktion ab, der Fähigkeit, Operatoren festzulegenUID, die DataStream API nur in Java und Python verfügbar ist. Weitere Informationen finden Sie unter Set UUIDs For All Operators in der Apache Flink-Dokumentation.

Beginnen Sie mit Streaming-Datenanwendungen

Sie können damit beginnen, eine Anwendung, die Managed Service für Apache Flink nutzt, zu erstellen, die kontinuierlich Streaming-Daten liest und verarbeitet. Verfassen Sie dann Ihren Code mit dem Code IDE Ihrer Wahl und testen Sie ihn mit Live-Streaming-Daten. Sie können auch Ziele konfigurieren, an die Managed Service für Apache Flink die Ergebnisse senden soll.

Um loszulegen, empfehlen wir Ihnen, die folgenden Abschnitte zu lesen:

Alternativ können Sie damit beginnen, ein Managed Service for Apache Flink Studio-Notebook zu erstellen, mit dem Sie Datenströme interaktiv in Echtzeit abfragen und Streamverarbeitungsanwendungen mit StandardSQL, Python und Scala einfach erstellen und ausführen können. Mit ein paar Klicks können Sie ein serverloses Notebook starten AWS Management Console, um Datenströme abzufragen und innerhalb von Sekunden Ergebnisse zu erhalten. Um loszulegen, empfehlen wir Ihnen, die folgenden Abschnitte zu lesen: