批处理和实时流处理的区别

一、批处理和实时流处理的区别

  • 批处理:对有界数据流的处理通常被称为批处理。批处理不需要有序地获取数据。在批处理模式下,首先将数据流持久化到存储系统(文件系统或对象存储)中,然后对整个数据集的数据进行读取、排序、统计或汇总计算,最后输出结果
  • 实时流处理:对于无界数据流,通常在数据生成时进行实时处理。因为无界数据流的数据输入是无限的,所以必须持续地处理。数据被获取后需要立刻处理,不可能等到所有数据都到达后再进行处理。处理无界数据流通常要求以特定顺序(如事件发生的顺序)获取事件,以便能够保证推断结果的完整性

二、批处理与流处理对比的特点

  • 批处理程序的容错不使用检查点。因为数据有限,所以恢复可以通过“完全重播”(重新处理)来实现。这种处理方式会降低常规处理的成本,因为它可以避免检查点
  • DataSet API中的有状态操作使用的是简化的内存数据结构,而不是键-值(Key-Value)索引
  • 在DataSet API中引入了特殊的同步迭代(基于超步),这只是在有界数据流上是可能的

版权声明:本文为feizuiku0116原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。