Ressources d'application - 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.

Ressources d'application

Cette section décrit les ressources système utilisées par votre application. Comprendre comment le service géré pour Apache Flink fournit et utilise les ressources vous aidera à concevoir, créer et maintenir un service géré performant et stable pour l’application Apache Flink.

Service géré pour les ressources de l'application Apache Flink

Le service géré pour Apache Flink est un AWS service qui crée un environnement pour héberger votre application Apache Flink. Le service géré pour Apache Flink fournit des ressources à l’aide d’unités appelées unités de traitement Kinesis (KPU).

Un KPU représente les ressources système suivantes :

  • Un cœur de processeur

  • 4 Go de mémoire, dont 1 Go de mémoire native et 3 Go de mémoire de tas

  • 50 Go d’espace disque

Les KPU exécutent les applications dans des unités d’exécution distinctes appelées tâches et sous-tâches. Vous pouvez comparer une sous-tâche à un fil d’actualité.

Le nombre de KPU disponibles pour une application est égal au paramètre Parallelism de l’application, divisé par le paramètre ParallelismPerKPU de l’application.

Pour de plus amples informations sur le parallélisme d’application, consultez Mise à l'échelle.

L’environnement Apache Flink alloue des ressources à votre application à l’aide d’unités appelées emplacements de tâche. Lorsque le service géré pour Apache Flink alloue des ressources à votre application, il attribue un ou plusieurs emplacements de tâche Apache Flink à un seul KPU. Le nombre d’emplacements attribués à un seul KPU est égal au paramètre ParallelismPerKPU de votre application. Pour plus d'informations sur les créneaux de tâches, consultez la section Planification des tâches dans la documentation d'Apache Flink.

Vous pouvez définir le nombre maximal de sous-tâches qu’un opérateur peut utiliser. Cette valeur s’appelle le parallélisme de l’opérateur. Par défaut, le parallélisme de chaque opérateur de votre application est égal au parallélisme de l’application. Cela signifie que par défaut, chaque opérateur de votre application peut utiliser toutes les sous-tâches disponibles dans l’application si nécessaire.

Vous pouvez définir le parallélisme des opérateurs de votre application à l’aide de la méthode setParallelism. Grâce à cette méthode, vous pouvez contrôler le nombre de sous-tâches que chaque opérateur peut utiliser simultanément.

Pour plus d'informations sur les opérateurs, consultez la section Opérateurs dans la documentation d'Apache Flink.

Normalement, chaque opérateur utilise une sous-tâche distincte à exécuter, mais si plusieurs opérateurs s’exécutent toujours en séquence, le moteur d’exécution peut les affecter tous à la même tâche. Ce processus s’appelle le chaînage d’opérateurs.

Plusieurs opérateurs séquentiels peuvent être enchaînés dans une même tâche s’ils opèrent tous sur les mêmes données. Voici quelques-uns des critères nécessaires pour que cela soit vrai :

  • Les opérateurs effectuent un transfert simple de 1 à 1.

  • Les opérateurs ont tous le même parallélisme d’opérateur.

Lorsque votre application regroupe les opérateurs dans une seule sous-tâche, elle économise les ressources du système, car le service n’a pas besoin d’effectuer des opérations réseau et d’allouer des sous-tâches à chaque opérateur. Pour déterminer si votre application utilise le chaînage d’opérateurs, examinez le graphique des tâches dans la console du service géré pour Apache Flink. Chaque sommet de l’application représente un ou plusieurs opérateurs. Le graphique montre les opérateurs qui ont été enchaînés en tant que sommet unique.