离线计算与实时计算基础

本文最后更新于 9 个月前,文中所描述的信息可能已发生改变。
加载中... 浏览

大数据处理可以先分成两条主线:离线计算和实时计算。 它们不是谁替代谁,而是解决的问题不一样。

1. 离线计算是什么

离线计算通常处理已经沉淀下来的历史数据。

比如:

  • 昨天的销售额。
  • 上周用户留存。
  • 上个月各渠道转化。
  • 每日数据仓库任务。

它更关注吞吐量和结果完整性,不一定要求秒级返回。

典型特点:

txt
数据量大
周期性处理
延迟可以接受
结果用于报表、分析、建模

常见工具包括 Hive、Spark、MapReduce 等。

2. 实时计算是什么

实时计算处理的是正在不断产生的数据流。

比如:

  • 实时监控订单量。
  • 实时风控。
  • 实时推荐。
  • 实时告警。
  • 实时大屏。

它更关注低延迟,希望数据刚产生就能被处理。

典型特点:

txt
数据持续到来
延迟要求低
处理逻辑长期运行
结果用于监控、告警、在线业务

常见工具包括 Flink、Spark Streaming、Kafka Streams 等。

3. 二者怎么选择

可以用一个问题判断:

这个结果需要马上知道吗?

如果不需要,离线计算通常更简单、成本更低。

如果需要秒级或分钟级反馈,就要考虑实时计算。

比如日报可以离线算;支付风控就不能等第二天。

4. Lambda 和 Kappa

大数据架构里常听到 Lambda 和 Kappa。

Lambda 架构通常同时保留离线链路和实时链路:

txt
离线保证准确
实时保证速度

Kappa 架构更强调用一套流处理链路处理数据。

初学阶段不用急着深入,只要知道它们都是在平衡准确性、实时性和复杂度。

5. 小结

离线计算和实时计算的区别可以这样记:

  • 离线计算:处理历史数据,追求稳定和完整。
  • 实时计算:处理数据流,追求低延迟。

真正做项目时,要根据业务需求选择,而不是看到“实时”就觉得更高级。

留言板

加载评论中...
ETL 与 ELT 基础笔记
Hive 基础:用 SQL 分析大规模数据
Valaxy v0.28.0-beta.1 驱动|主题-Yunv0.28.0-beta.1