Asymétrie de données - 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.

Asymétrie de données

Une application Flink est exécutée sur un cluster de manière distribuée. Pour s’étendre à plusieurs nœuds, Flink utilise le concept de flux liés à une clé, ce qui signifie essentiellement que les événements d’un flux sont partitionnés en fonction d’une clé spécifique, par exemple l’identifiant du client, et Flink peut ensuite traiter différentes partitions sur différents nœuds. De nombreux opérateurs Flink sont ensuite évalués en fonction de ces partitions, par exemple Keyed Windows, Process Functions et Async I/O.

Le choix d’une clé de partition dépend souvent de la logique métier. Dans le même temps, bon nombre des bonnes pratiques, par exemple pour DynamoDB et Spark, s’appliquent également à Flink, notamment :

  • garantir une cardinalité élevée des clés de partition ;

  • éviter toute asymétrie du volume d’événements entre les partitions.

Vous pouvez identifier l’asymétrie dans les partitions en comparant les enregistrements reçus/envoyés des sous-tâches (c’est-à-dire les instances du même opérateur) dans le tableau de bord Flink. En outre, la surveillance du service géré pour Apache Flink peut également être configurée pour exposer des métriques au niveau de numRecordsIn/Out et numRecordsInPerSecond/OutPerSecond au niveau des sous-tâches.