Commencez avec Amazon Managed Service pour Apache Flink pour Python - Service géré pour Apache Flink

Le service géré Amazon pour Apache Flink était auparavant connu sous le nom d’Amazon Kinesis Data Analytics pour Apache Flink.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Commencez avec Amazon Managed Service pour Apache Flink pour Python

Cette section présente les concepts fondamentaux d'un service géré pour Apache Flink à l'aide de Python et de la tableAPI. Elle décrit les options disponibles pour créer et tester vos applications. Elle fournit également des instructions pour installer les outils nécessaires pour suivre les didacticiels de ce guide et pour créer votre première application.

Passez en revue les composants d'un service géré pour une application Apache Flink

Note

Amazon Managed Service pour Apache Flink prend en charge tous les Apache APIs Flink. En fonction de API votre choix, la structure de l'application est légèrement différente. Une approche populaire lors du développement d'une application Apache Flink en Python consiste à définir le flux de l'application à l'aide du code Python SQL intégré. C'est l'approche que nous suivons dans le didacticiel Gettgin Started suivant.

Pour traiter les données, votre application Managed Service for Apache Flink utilise un script Python pour définir le flux de données qui traite les entrées et produit les sorties à l'aide du moteur d'exécution Apache Flink.

Un service géré typique pour une application Apache Flink comprend les composants suivants :

  • Propriétés d’exécution : vous pouvez utiliser les propriétés d’exécution pour configurer votre application sans recompiler le code de votre application.

  • Sources : l'application consomme des données provenant d'une ou de plusieurs sources. Une source utilise un connecteur pour lire les données d'un système externe tel qu'un flux de données Kinesis ou une rubrique AmazonMSK. Vous pouvez également utiliser des connecteurs spéciaux pour générer des données depuis l'application. Lorsque vous l'utilisezSQL, l'application définit les sources en tant que tables sources.

  • Transformations : l'application traite les données à l'aide d'une ou de plusieurs transformations qui peuvent filtrer, enrichir ou agréger les données. Lorsque vous l'utilisezSQL, l'application définit les transformations sous forme de SQL requêtes.

  • Récepteurs : l'application envoie des données à des sources externes via des récepteurs. Un récepteur utilise un connecteur pour envoyer des données à un système externe tel qu'un flux de données Kinesis, un MSK sujet Amazon, un compartiment Amazon S3 ou une base de données relationnelle. Vous pouvez également utiliser un connecteur spécial pour imprimer la sortie à des fins de développement. Lorsque vous l'utilisezSQL, l'application définit les cuvettes comme des tables de cuvettes dans lesquelles vous insérez les résultats. Pour de plus amples informations, veuillez consulter Écrire des données à l'aide de récepteurs dans le service géré pour Apache Flink.

Votre application Python peut également nécessiter des dépendances externes, telles que des bibliothèques Python supplémentaires ou tout connecteur Flink utilisé par votre application. Lorsque vous créez un package pour votre application, vous devez inclure toutes les dépendances dont elle a besoin. Ce didacticiel explique comment inclure les dépendances des connecteurs et comment empaqueter l'application en vue de son déploiement sur Amazon Managed Service pour Apache Flink.

Remplir les prérequis

Pour terminer ce didacticiel, vous devez disposer des éléments suivants :

  • Python 3.11, utilisant de préférence un environnement autonome tel que VirtualEnv (venv), Conda ou Miniconda.

  • Client Git : installez le client Git si ce n'est pas déjà fait.

  • Java Development Kit (JDK) version 11 : installez un Java JDK 11 et définissez la variable d'JAVA_HOMEenvironnement pour qu'elle pointe vers votre emplacement d'installation. Si vous n'avez pas de JDK 11, vous pouvez utiliser Amazon Corretton'importe quel standard JDK de notre choix.

    • Pour vérifier que vous l'avez JDK correctement installé, exécutez la commande suivante. Le résultat sera différent si vous utilisez un JDK autre appareil qu'Amazon Corretto 11. Assurez-vous que la version est 11.x.

      $ 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 : installez Apache Maven si ce n'est pas déjà fait. Pour plus d'informations, consultez la section Installation d'Apache Maven.

    • Pour tester votre installation d'Apache Maven, utilisez la commande suivante :

      $ mvn -version
Note

Bien que votre application soit écrite en Python, Apache Flink s'exécute dans la machine virtuelle Java (JVM). Il distribue la plupart des dépendances, telles que le connecteur Kinesis, sous forme JAR de fichiers. Pour gérer ces dépendances et pour empaqueter l'application dans un ZIP fichier, utilisez Apache Maven. Ce didacticiel explique comment procéder.

Avertissement

Nous vous recommandons d'utiliser Python 3.11 pour le développement local. Il s'agit de la même version de Python utilisée par Amazon Managed Service pour Apache Flink avec le moteur d'exécution Flink 1.19.

L'installation de la bibliothèque Python Flink 1.19 sur Python 3.12 peut échouer.

Si une autre version de Python est installée par défaut sur votre machine, nous vous recommandons de créer un environnement autonome tel que VirtualEnv Python 3.11.

IDEpour le développement local

Nous vous recommandons d'utiliser un environnement de développement tel que PyCharmVisual Studio Code pour développer et compiler votre application.

Effectuez ensuite les deux premières étapes du Commencez avec Amazon Managed Service pour Apache Flink () DataStream API :

Consultez Création d’une application pour démarrer.