核心概念速查
- Shuffle:按 key 重新分区,网络与磁盘成本通常最高。
- Straggler:最慢任务决定作业完成时间(makespan)。
- Salting:给热 key 加随机盐打散,再二次聚合。
- Lambda / Kappa:批+流双链路 vs 尽量统一为流。
当数据放不进单机内存、扫描耗时过长时,就需要分布式处理。通过交互演示理解规模拐点、MapReduce 流水线、批流权衡与分区倾斜。
可用 ← → 键切换主题
吞吐 · 延迟 · 完整性
学完演示后来检验一下。全部答对即可标记本章测验通过。
1. 什么时候更该考虑离开单机?
2. MapReduce 中 Shuffle 阶段主要做什么?
3. 数据倾斜常见表现是?
微批间隔 5.0 分钟
延迟 ≈ 间隔/2 + 固定处理,间隔越大吞吐越高。
窗口 15 秒
窗口越小越实时,但调度开销上升、吞吐下降。
当前建议:偏流处理
流延迟显著低于批,适合仪表盘 / 告警;请确认近似完整度可接受。
场景预设
batch_e2e = 2.6 分钟
stream_e2e = 17 秒
批处理追求高吞吐与可重放;流处理追求低延迟与持续更新。微批间隔决定平均等待,端到端延迟 ≈ 间隔/2 + 处理时间。Lambda 用批+流两套链路,Kappa 尽量统一为流。
例:小时级对账报表用 30–60 分钟批;实时大盘用 5–15 秒窗口。SLA 决定选型,而不是框架名字。