Condivisione della tecnologia

Condivisione dell'esperienza di sviluppo di FlinkSQL

2024-07-08

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

Condivisione dell'esperienza di sviluppo di FlinkSQL

autore:gnocchi di zuppa

Recentemente, ho soddisfatto diversi requisiti di sviluppo dei dati in tempo reale e inevitabilmente ho riscontrato alcuni problemi nel processo di utilizzo di Flink, come la contropressione causata dalla distorsione dei dati, l'unione a intervalli, il guasto del livello dell'acqua causato dall'apertura della finestra, ecc., attraverso il pensiero e risolvere Queste domande hanno approfondito la mia comprensione dei principi e dei meccanismi di Flink, quindi condivido queste esperienze di sviluppo nella speranza che possano aiutare gli studenti bisognosi.

Di seguito verranno presentati tre casi. Ciascun caso sarà diviso in tre parti: contesto, analisi delle cause e soluzione.

1. Caso 1: distorsione dei dati

La distorsione dei dati si riscontra sia offline che in tempo reale e la sua definizione è:Quando si esegue l'elaborazione dei dati in parallelo, i dati divisi in base a determinate chiavi superano significativamente altre parti e sono distribuiti in modo non uniforme, con il risultato che una grande quantità di dati viene concentrata su uno o più nodi di elaborazione, rendendo la velocità di elaborazione di questa parte molto inferiore a quella media La velocità di elaborazione diventa il collo di bottiglia dell'elaborazione dell'intero set di dati, influenzando così le prestazioni di elaborazione complessive. . Esistono molte ragioni per la distorsione dei dati, ad esempio una distribuzione non uniforme delle chiavi durante il raggruppamento per, troppi valori nulli, conteggio distinto e così via. Questo articolo introdurrà solo la situazione del raggruppamento per conteggio distinto.

1.1