有界数据集指的是有明确的开始和明确的结束的数据,例如JSON文件、CSV文件、TXT文件、MySQL表格、Excel表格都是有界数据集,当你用它的时候,有明确的数据开始和明确的数据结束。对有界数据集的处理,从开始就是明确了范围的。我们将这种处理称为批处理,同时数据有边界时(不会再产生新的数据)的计算,称之为离线计算。
无界数据是有明确的开始,但没有明确的结束的数据,有源源不断的数据进来等待被处理。有明确的开始,没有明确的结束,这样的数据我们称为数据流,那有哪些无界数据流呢?
- Kafka
Kafka中的topic的某个分区可以算是无界数据流。
- 数据有明确的开始:offset从0开始
- 没有明确的结束:offset最大是多少?不知道,来一条数据加一个
对消费者来说:
- 数据的开始起于:消费者启动的那一刻
- 数据的结束起于:不确定啥时候结束,有数据就继续干活,没数据就等待数据
> 无界数据流的处理,由于没有明确的结束点,一般称之为:流(源源不断)计算
> 又是因为数据会源源不断的到来的特性,所以不能断网,不能叫离线计算,也称之为:在线计算、实时计算
> 批处理:从运行的那一刻开始,就一定会结束(正常情况)
> 流计算:从运行的那一刻开始,就没想过结束(正常情况、报错宕机不考虑)