Erste Schritte mit Amazon Managed Service für Apache Flink für Python - 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.

Erste Schritte mit Amazon Managed Service für Apache Flink für Python

In diesem Abschnitt werden Sie mit den grundlegenden Konzepten eines Managed Service für Apache Flink unter Verwendung von Python und der Tabelle API vertraut gemacht. Es werden die verfügbaren Optionen für die Erstellung und das Testen von Anwendungen beschrieben. Er enthält auch Anweisungen zur Installation der Tools, die Sie benötigen, um die Tutorials in diesem Handbuch abzuschließen und Ihre erste Anwendung zu erstellen.

Sehen Sie sich die Komponenten einer Managed Service for Apache Flink-Anwendung an

Anmerkung

Amazon Managed Service für Apache Flink unterstützt alle Apache APIs Flink. Je nachdem, was API Sie wählen, unterscheidet sich die Struktur der Anwendung geringfügig. Ein beliebter Ansatz bei der Entwicklung einer Apache Flink-Anwendung in Python besteht darin, den Anwendungsablauf mithilfe von SQL eingebettetem Python-Code zu definieren. Dies ist der Ansatz, den wir im folgenden Tutorial „Erste Schritte“ verfolgen.

Um Daten zu verarbeiten, verwendet Ihre Managed Service for Apache Flink-Anwendung ein Python-Skript, um den Datenfluss zu definieren, der mithilfe der Apache Flink-Laufzeit Eingaben verarbeitet und Ausgaben erzeugt.

Eine typische Managed Service für Apache Flink-Anwendung besteht aus den folgenden Komponenten:

  • Runtime-Eigenschaften: Sie können Runtime-Eigenschaften verwenden, um Ihre Anwendung zu konfigurieren, ohne Ihren Anwendungscode neu kompilieren zu müssen.

  • Quellen: Die Anwendung verwendet Daten aus einer oder mehreren Quellen. Eine Quelle verwendet einen Konnektor, um Daten aus einem externen System wie einem Kinesis-Datenstream oder einem MSK Amazon-Thema zu lesen. Sie können auch spezielle Konnektoren verwenden, um Daten aus der Anwendung heraus zu generieren. Wenn Sie verwendenSQL, definiert die Anwendung Quellen als Quelltabellen.

  • Transformationen: Die Anwendung verarbeitet Daten mithilfe einer oder mehrerer Transformationen, mit denen Daten gefiltert, angereichert oder aggregiert werden können. Wenn Sie verwendenSQL, definiert die Anwendung Transformationen als Abfragen. SQL

  • Senken: Die Anwendung sendet Daten über Senken an externe Quellen. Eine Senke verwendet einen Konnektor, um Daten an ein externes System wie einen Kinesis-Datenstream, ein MSK Amazon-Thema, einen Amazon S3-Bucket oder eine relationale Datenbank zu senden. Sie können auch einen speziellen Anschluss verwenden, um die Ausgabe zu Entwicklungszwecken zu drucken. Wenn Sie diese Option verwendenSQL, definiert die Anwendung Senken als Senkentabellen, in die Sie Ergebnisse einfügen. Weitere Informationen finden Sie unter Schreiben Sie Daten mithilfe von Senken in Managed Service für Apache Flink.

Ihre Python-Anwendung benötigt möglicherweise auch externe Abhängigkeiten, z. B. zusätzliche Python-Bibliotheken oder einen beliebigen Flink-Connector, den Ihre Anwendung verwendet. Wenn Sie Ihre Anwendung paketieren, müssen Sie alle Abhängigkeiten einbeziehen, die Ihre Anwendung benötigt. Dieses Tutorial zeigt, wie Sie Connector-Abhängigkeiten einbeziehen und wie Sie die Anwendung für die Bereitstellung auf Amazon Managed Service für Apache Flink verpacken.

Erfüllen Sie die Voraussetzungen

Um dieses Tutorial abschließen zu können, müssen Sie über Folgendes verfügen:

  • Python 3.11, vorzugsweise mit einer eigenständigen Umgebung wie VirtualEnv (venv), Conda oder Miniconda.

  • Git-Client — installieren Sie den Git-Client, falls Sie ihn noch nicht installiert haben.

  • Java Development Kit (JDK) Version 11 — installieren Sie ein Java JDK 11 und stellen Sie die JAVA_HOME Umgebungsvariable so ein, dass sie auf Ihren Installationsort verweist. Wenn Sie keine JDK 11 haben, können Sie Amazon Correttooder einen beliebigen Standard JDK unserer Wahl verwenden.

    • Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Sie das JDK korrekt installiert haben. Die Ausgabe ist anders, wenn Sie ein JDK anderes als Amazon Corretto 11 verwenden. Stellen Sie sicher, dass die Version 11.x ist.

      $ java --version openjdk 11.0.23 2024-04-16 LTS OpenJDK Runtime Environment Corretto-11.0.23.9.1 (build 11.0.23+9-LTS) OpenJDK 64-Bit Server VM Corretto-11.0.23.9.1 (build 11.0.23+9-LTS, mixed mode)
  • Apache Maven — installieren Sie Apache Maven, falls Sie dies noch nicht getan haben. Weitere Informationen finden Sie unter Installation von Apache Maven.

    • Verwenden Sie den folgenden Befehl, um Ihre Apache Maven-Installation zu testen:

      $ mvn -version
Anmerkung

Obwohl Ihre Anwendung in Python geschrieben ist, läuft Apache Flink in der Java Virtual Machine (JVM). Es verteilt die meisten Abhängigkeiten, wie z. B. den Kinesis-Konnektor, als JAR Dateien. Verwenden Sie Apache Maven, um diese Abhängigkeiten zu verwalten und die Anwendung in eine ZIP Datei zu packen. Dieses Tutorial erklärt, wie das geht.

Warnung

Wir empfehlen, Python 3.11 für die lokale Entwicklung zu verwenden. Dies ist dieselbe Python-Version, die von Amazon Managed Service für Apache Flink mit der Flink-Laufzeit 1.19 verwendet wird.

Die Installation der Python-Flink-Bibliothek 1.19 auf Python 3.12 schlägt möglicherweise fehl.

Wenn Sie standardmäßig eine andere Python-Version auf Ihrem Computer installiert haben, empfehlen wir Ihnen, eine eigenständige Umgebung zu erstellen, z. B. VirtualEnv mit Python 3.11.

IDEfür die lokale Entwicklung

Wir empfehlen, dass Sie eine Entwicklungsumgebung wie PyCharmVisual Studio Code verwenden, um Ihre Anwendung zu entwickeln und zu kompilieren.

Führen Sie dann die ersten beiden Schritte der folgenden Schritte ausErste Schritte mit Amazon Managed Service für Apache Flink () DataStream API:

Informationen zum Einstieg finden Sie unter Erstellen einer Anwendung.