Compartilhamento de tecnologia

Compartilhamento de experiência de desenvolvimento FlinkSQL

2024-07-08

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

Compartilhamento de experiência de desenvolvimento FlinkSQL

autor:bolinhos de sopa

Recentemente, fiz vários requisitos de desenvolvimento de dados em tempo real e inevitavelmente encontrei alguns problemas no processo de uso do Flink, como contrapressão causada por distorção de dados, junção de intervalo, falha no nível de água causada pela abertura de janela, etc., através do pensamento e solução Essas questões aprofundaram minha compreensão dos princípios e mecanismos de Flink, por isso compartilho essas experiências de desenvolvimento na esperança de que possam ajudar os alunos necessitados.

Três casos serão apresentados a seguir. Cada caso será dividido em três partes: antecedentes, análise de causa e solução.

1. Caso 1: Distorção de dados

A distorção de dados é encontrada offline e em tempo real, e sua definição é:Ao realizar o processamento de dados em paralelo, os dados divididos de acordo com certas chaves excedem significativamente outras partes e são distribuídos de forma desigual, resultando em uma grande quantidade de dados concentrados em um ou vários nós de computação, tornando a velocidade de processamento desta parte muito menor do que o média A velocidade de computação torna-se o gargalo de todo o processamento do conjunto de dados, afetando assim o desempenho geral da computação. . Há muitos motivos para distorção de dados, como distribuição desigual de chaves durante o agrupamento, muitos valores nulos, contagem distinta, etc. Este artigo apresentará apenas a situação de agrupamento por contagem distinta.

1.1