Partage de technologie

Partage d'expérience de développement FlinkSQL

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Partage d'expérience de développement FlinkSQL

auteur:boulettes de soupe

Récemment, j'ai répondu à plusieurs exigences de développement de données en temps réel et j'ai inévitablement rencontré certains problèmes lors du processus d'utilisation de Flink, tels que la contre-pression causée par le biais des données, la jointure par intervalles, la défaillance du niveau d'eau causée par l'ouverture de la fenêtre, etc., en réfléchissant et résoudre ces questions ont approfondi ma compréhension des principes et des mécanismes de Flink, je partage donc ces expériences de développement dans l'espoir qu'elles puissent aider les étudiants dans le besoin.

Trois cas seront présentés ci-dessous. Chaque cas sera divisé en trois parties : contexte, analyse des causes et solution.

1. Cas 1 : biais des données

L'asymétrie des données est rencontrée à la fois hors ligne et en temps réel, et sa définition est la suivante :Lors du traitement des données en parallèle, les données divisées selon certaines clés dépassent considérablement les autres parties et sont inégalement réparties, ce qui entraîne la concentration d'une grande quantité de données sur un ou plusieurs nœuds de calcul, ce qui rend la vitesse de traitement de cette partie bien inférieure à la moyenne. La vitesse de calcul devient le goulot d'étranglement de l'ensemble du traitement de l'ensemble de données, affectant ainsi les performances informatiques globales. . Il existe de nombreuses raisons pour lesquelles les données sont asymétriques, telles qu'une distribution inégale des clés lors du groupe par, trop de valeurs nulles, un nombre distinct, etc. Cet article ne présentera que la situation du groupe par nombre distinct.

1.1