Verzerrte Datenverteilung - 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.

Verzerrte Datenverteilung

Eine Flink-Anwendung wird auf einem Cluster verteilt ausgeführt. Um horizontal auf mehrere Knoten zu skalieren, verwendet Flink das Konzept der verschlüsselten Streams, was im Wesentlichen bedeutet, dass die Ereignisse eines Streams nach einem bestimmten Schlüssel, z. B. einer Kunden-ID, partitioniert werden und Flink dann verschiedene Partitionen auf verschiedenen Knoten verarbeiten kann. Viele der Flink-Operatoren werden dann auf der Grundlage dieser Partitionen ausgewertet, z. B. Keyed Windows, Process Functions und Async I/O.

Die Auswahl eines Partitionsschlüssels hängt häufig von der Geschäftslogik ab. Gleichzeitig gelten viele der Best Practices für z. B. DynamoDB und Spark auch für Flink, darunter:

  • Sicherstellung einer hohen Kardinalität der Partitionsschlüssel

  • Vermeidung von Verzerrungen im Ereignisvolumen zwischen Partitionen

Sie können Verzerrungen in den Partitionen erkennen, indem Sie die empfangenen/gesendeten Datensätze von Unteraufgaben (d. h. Instances desselben Operators) im Flink-Dashboard vergleichen. Darüber hinaus kann die Überwachung von Managed Service für Apache Flink so konfiguriert werden, dass Metriken auch für numRecordsIn/Out und numRecordsInPerSecond/OutPerSecond auf Unteraufgabenebene verfügbar gemacht werden.