Flink流式数据倾斜

1. 流式数据倾斜

流式处理的数据倾斜和 Spark 的离线或者微批处理都是某一个 SubTask 数据过多这种数据不均匀导致的,但是因为流式处理的特性其中又有些许不同

2. 如何解决

2.1 窗口有界流倾斜

窗口操作类似Spark的微批处理,直接两阶段聚合的方式来解决就可以

sql 复制代码
select date,
       type,
       sum(pv) as pv
from(
  select
        date,
        type,
        sum(count) as pv
  from table
        group by
        date,
        type,
        floor(rand()*100) --随机打散成100份 
    )
    group by 
    date,
    type;

2.2 数据本身不均匀

KeyBy 前数据已经不均匀了,可能是Topic 每个分区的数据不一致(较为少见),或者上游task处理以后导致的数据不均匀,导致下游operate chains的某个task压力很大

这种可以加一个随机数 redistributiing 一下之类打散

2.3 keyby类

加盐

开启minibatch 和 global,牺牲时效性,减少输出数据量

相关推荐
博闻录36 分钟前
以 “有机” 重构增长:云集从电商平台到健康生活社区的跃迁
大数据·重构·生活
nbsaas-boot2 小时前
收银系统优惠功能架构:可扩展设计指南(含可扩展性思路与落地细节)
java·大数据·运维
lingling0093 小时前
实验记录安全存储:生物医药科研的数字化基石
大数据·人工智能
优秘智能UMI3 小时前
私有化大模型架构解决方案构建指南
大数据·人工智能·深度学习·信息可视化·aigc
TDengine (老段)14 小时前
TDengine 转化类函数 TO_CHAR 用户手册
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
黄雪超14 小时前
Kafka——多线程开发消费者实例
大数据·分布式·kafka
ManageEngineITSM15 小时前
从混乱到秩序:IT服务管理如何重塑企业运营效率
大数据·人工智能·程序人生·职场和发展·itsm
青云交16 小时前
Java 大视界 -- 基于 Java 的大数据分布式存储在工业互联网数据管理与边缘计算协同中的创新实践(364)
java·大数据·边缘计算·工业互联网·分布式存储·paxos·数据协同
数据爬坡ing17 小时前
软件工程之可行性研究:从理论到实践的全面解析
大数据·流程图·软件工程·可用性测试