参考:https://www.jianshu.com/p/5cc07eae1a0c

1.相关框架

仅批处理框架:

Apache Hadoop

仅流处理框架:

Apache Storm

Apache Samza

混合框架:

Apache Spark

Apache Flink

 

2.批处理系统

批处理在大数据世界有着悠久的历史。批处理主要操作大容量静态数据集,并在计算过程完成后返回结果。

批处理模式中使用的数据集通常符合下列特征...

  • 有界:批处理数据集代表数据的有限集合

  • 持久:数据通常始终存储在某种类型的持久存储位置中

  • 大量:批处理操作通常是处理极为海量数据集的唯一方法

批处理非常适合需要访问全套记录才能完成的计算工作。例如在计算总数和平均数时,必须将数据集作为一个整体加以处理,而不能将其视作多条记录的集合。这些操作要求在计算进行过程中数据维持自己的状态。

需要处理大量数据的任务通常最适合用批处理操作进行处理。无论直接从持久存储设备处理数据集,或首先将数据集载入内存,批处理系统在设计过程中就充分考虑了数据的量,可提供充足的处理资源。由于批处理在应对大量持久数据方面的表现极为出色,因此经常被用于对历史数据进行分析。

大量数据的处理需要付出大量时间,因此批处理不适合对处理时间要求较高的场合



3.流处理系统

流处理系统会对随时进入系统的数据进行计算。相比批处理模式,这是一种截然不同的处理方式。流处理方式无需针对整个数据集执行操作,而是对通过系统传输的每个数据项执行操作。

流处理中的数据集是“无边界”的,这就产生了几个重要的影响:

  • 完整数据集只能代表截至目前已经进入到系统中的数据总量。

  • 工作数据集也许更相关,在特定时间只能代表某个单一数据项。

  • 处理工作是基于事件的,除非明确停止否则没有“尽头”。处理结果立刻可用,并会随着新数据的抵达继续更新。

 posted on 2020-01-03 14:25  WU大雄  阅读(1649)  评论(0编辑  收藏  举报