根据数据流模型论文:在大规模,无边界,无序数据处理中平衡正确性,延迟和成本的实用方法:
MillWheel和Spark Streaming都具有足够的可扩展性, 容错和低延迟,可以充当合理的基础,但是 缺乏可以计算事件时间的高级编程模型 会话简单明了。
总是这样吗?
答案 0 :(得分:1)
不,不是。
引用https://dzone.com/articles/spark-streaming-vs-structured-streaming来节省我的午餐时间!:
流媒体世界中的一个大问题是如何根据 活动时间。
事件时间是事件实际发生的时间。它不是 流引擎的源证明在 即时的。数据生成和移交可能会存在延迟 数据发送到处理引擎。 Spark中没有这样的选项 使用事件时间进行流处理以处理数据。它仅适用于 Spark接收数据的时间戳。基于 接收时间戳记,Spark Streaming会将数据分批处理,即使 该事件是较早产生的,并且属于较早的批次 可能会导致信息准确性降低,因为它等于数据 失利。
另一方面,结构化流提供了以下功能: 根据事件时间处理数据时的时间戳 事件包含在收到的数据中。这是一个主要功能 在结构化流媒体中引入,它提供了一种不同的方式 根据生成数据的时间处理数据 真实世界。这样,我们可以处理迟到的数据并获得更多 准确的结果。
通过事件时间处理最新数据,结构化流胜过 火花流。