flink Shuffle的总结

关于 ** ​5 种 Shuffle 类型** 的区别、使用场景及 Flink 版本支持的总结:

* 注意:下面是问AI具体细节与整理学习


1. 核心区别

Shuffle 类型 核心特点 使用场景 Flink 版本支持
Pipelined Shuffle 流式调度,纯内存交换,低延迟(毫秒级),支持反压机制。 流处理默认模式(如实时监控、风控)。 所有版本(流处理默认)
Blocking Shuffle 分阶段调度,数据全量落盘,高吞吐但高延迟。子类型: - Hash Shuffle(默认) - Sort-Merge Shuffle(优化版) 批处理默认模式(如离线分析)。 所有版本(批处理默认); Sort-Merge 从 1.12+。
Hybrid Shuffle 流批融合,动态选择内存或磁盘存储,优先内存交换,资源不足时落盘。 批处理优化场景(资源波动、数据倾斜)。 批处理:Flink 1.16+。
Remote Shuffle Service (RSS) 存储计算分离,独立集群管理 Shuffle 数据,支持云原生部署(如 Apache Celeborn)。 大规模批处理(PB 级数据)。 插件化支持(Flink 1.14+)。
Sort-Merge Shuffle 批处理优化,数据排序后合并写入,减少文件数量和随机 I/O。 高并发批作业(如超大规模 ETL)。 批处理:Flink 1.12+ 实验性,1.13+ 生产可用。

2. 使用场景

Pipelined Shuffle

场景 :实时流处理(如实时风控、监控告警)。

优势 :低延迟,适合对实时性要求高的场景。

缺点:资源占用高,可能因反压导致内存积压。

Blocking Shuffle

场景 :离线批处理(如 TPC-DS 分析任务)。

优势 :资源利用率高,适合大规模数据批处理。

缺点:磁盘 I/O 开销大,性能较低。

Hybrid Shuffle

场景 :批处理作业(尤其资源波动或数据倾斜场景)。

优势 :结合内存和磁盘,减少 I/O 负载,提升资源利用率(如 TPC-DS 性能提升 7.2%~18.74%)。

缺点:需权衡落盘策略(全落盘容错性好,选择性落盘性能更优)。


Shuffle 类型 流处理版本 批处理版本
Pipelined Shuffle 从早期版本支持(默认) 不适用
Blocking Shuffle 不适用 从早期版本支持
Hybrid Shuffle 不适用 Flink 1.16 引入

4. 说明

Hybrid Shuffle 的演进

• Flink 1.16 首次引入,1.17 优化了广播数据和资源调度。

• 支持两种落盘策略:全落盘(容错性好)和选择性落盘(性能优)。

流批融合趋势:Hybrid Shuffle 是 Flink 流批一体化的关键,未来可能扩展至流处理场景。

5.补充说明:

  1. 流处理当前默认 :仍为 Pipelined Shuffle(截至 Flink 1.17)。
  2. 批处理演进
    • Flink 1.13 默认 Blocking Shuffle(Hash 实现)。
    • Hybrid Shuffle 未来可能成为批处理默认选项。
  3. 特殊场景
    • RSS 适用于云原生和大规模集群。
    • Sort-Merge Shuffle 解决高并发下的稳定性问题。
  4. Broadcast/Rebalance/hash Partition 常用场景
    逻辑分区策略(如 keyBy、broadcast),底层仍依赖上述 Shuffle 实现
相关推荐
武子康5 小时前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
大大大大晴天7 小时前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
武子康2 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
武子康3 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive
DianSan_ERP4 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
够快云库4 天前
能源行业非结构化数据治理实战:从数据沼泽到智能资产
大数据·人工智能·机器学习·企业文件安全
AI周红伟4 天前
周红伟:智能体全栈构建实操:OpenClaw部署+Agent Skills+Seedance+RAG从入门到实战
大数据·人工智能·大模型·智能体
B站计算机毕业设计超人4 天前
计算机毕业设计Django+Vue.js高考推荐系统 高考可视化 大数据毕业设计(源码+LW文档+PPT+详细讲解)
大数据·vue.js·hadoop·django·毕业设计·课程设计·推荐算法
计算机程序猿学长4 天前
大数据毕业设计-基于django的音乐网站数据分析管理系统的设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)
大数据·django·课程设计
B站计算机毕业设计超人4 天前
计算机毕业设计Django+Vue.js音乐推荐系统 音乐可视化 大数据毕业设计 (源码+文档+PPT+讲解)
大数据·vue.js·hadoop·python·spark·django·课程设计