我们已经讨论了以下问题:
- Apache Spark和Apache Flink有什么区别?[关闭]
- "流"在Apache Spark和Apache Flink中意味着什么?
- 在实践中的迷你批次与实时流(不是理论)之间有什么区别? ?
,但是在Spark2.2上添加了Spark Structured Streaming
,它带来了很多变化,并且非常出色。
我们可以说Spark Strutured Streaming
是流媒体处理,还是仍在批处理处理?
现在Apache Flink
和Apache Spark Structured Streaming
之间有什么大区别?
当前:
Spark结构化流媒体仍在背景中使用的微匹配。但是,它支持事件时间处理,即延迟相当低(但不如 flink),支持SQL和类型安全的查询i n一个API;没有区别,每个数据集都可以使用SQL或Typeafe Operators 查询。它具有端到端的恰好语义(至少他们这么说;)。吞吐量比Flink更好(有一些基准测试结果不同,但请查看Databricks帖子。
)。在不久的将来:
火花连续处理模式正在进行中,它将带来〜1ms的延迟,与Flink的延迟相当。但是,正如我所说,它仍在进行中。API已准备好进行非批处理作业,因此与以前的Spark流相比,它更容易完成。
主要区别:
Spark现在依靠微批量捕捞,Flink是预先安排的操作员。这意味着,Flink的延迟较低,但是Spark社区在连续处理模式下工作,这将与接收器相似(据我所知)。