📘 数据倾斜诊断·解决方案
30章
🎯 风格 · 清晰目录
01
数据倾斜概述
什么是数据倾斜
典型表现
对分布式计算的影响
02
数据倾斜产生的原因
数据分布不均
业务逻辑热点
Key哈希冲突
数据膨胀与笛卡尔积
03
数据倾斜的定位方法
Spark UI/MapReduce UI
Stage耗时
Task数据量
Accumulator定位
04
通用解决思路
调整并行度
重新设计Key
过滤异常数据
随机前缀
05
Join操作中的数据倾斜
大表Join小表
大表Join大表
倾斜Key广播与拆分
06
GroupBy操作中的数据倾斜
两阶段聚合
预聚合与最终聚合
Salting技术
07
CountDistinct中的数据倾斜
HyperLogLog近似
分桶去重
Bitmap
08
窗口函数中的数据倾斜
全局排序瓶颈
分桶排序
近似分位数
09
数据倾斜与数据膨胀
内存溢出
磁盘溢出
网络IO瓶颈
10
数据倾斜的监控
实时监控指标
历史趋势分析
告警阈值设置
11
数据倾斜的预防策略
数据预处理
数据分桶设计
Schema优化
12
Spark中的处理
AQE机制
动态资源分配
Skew Join优化
13
Flink中的处理
KeyBy优化
自定义分区器
Watermark与倾斜
14
Hive中的处理
MapJoin
Bucket Map Join
SMB Join
15
MapReduce中的处理
Combiner
自定义分区
二次排序
16
Kafka中的处理
Partition分配不均
Consumer Rebalance
自定义分区策略
17
ClickHouse中的处理
分布式表写入倾斜
查询倾斜
数据重分布
18
Elasticsearch中的处理
Shard分配不均
Routing优化
Rollover与Shrink
19
MongoDB中的处理
Chunk分裂与迁移
Zone与Tag
分片键选择
20
Redis中的处理
Hash Tag
集群分片
热点Key发现与处理
21
HBase中的处理
Region分裂与合并
预分区
RowKey设计
22
Presto/Trino中的处理
数据源倾斜
Join倾斜
GroupBy倾斜
23
Doris中的处理
分桶键选择
Colocation Join
Runtime Filter
24
MaxCompute中的处理
动态分区
Shuffle优化
MapJoin
25
自动化诊断工具
自研诊断平台
Dr.Elephant
云平台诊断服务
26
案例分析一:电商大促
订单数据倾斜
大促场景
实战调优
27
案例分析二:社交网络
用户行为倾斜
热点事件
解决方案
28
案例分析三:物联网设备
设备数据倾斜
海量时序
分区优化
29
案例分析四:金融交易
交易数据倾斜
热点账户
高可用设计
30
总结与最佳实践
常见误区
性能调优checklist
未来趋势