Apache Spark结构流与Apache Flink:有什么区别?

时间:2017-09-01 07:53:22

标签: apache-spark apache-flink spark-structured-streaming

我们已经讨论过以下问题:

但是在Spark2.2中添加了Spark Structured Streaming,它为流媒体带来了很多变化,而且非常出色。

我们可以说Spark Strutured Streaming是流处理还是批量处理?

现在Apache FinkApache Spark Structured Streaming之间的最大区别是什么?

1 个答案:

答案 0 :(得分:6)

<强>目前:

Spark Structured Streaming仍然在后台使用微型游戏。但是,它支持事件时间处理,相当低的延迟(但不低于 Flink),支持SQL和类型安全查询i n一个API;没有区别,每个数据集都可以使用SQL或类型安全运算符进行查询。它具有端到端的完全一个语义(至少他们说它;))。 The throughput is better than in Flink(有些基准测试结果不同,但请看Databricks post about the results)。

在不久的将来:

Spark连续处理模式正在进行中,它会产生Spark~1ms的延迟,与Flink相当。但是,正如我所说,它仍在进行中。 API已准备好进行非批处理作业,因此比之前的Spark Streaming更容易。

主要区别:

Spark现在依赖于微批处理,Flink已经预先安排了运营商。这意味着,Flink的延迟较低,但Spark Community在连续处理模式下工作,这种模式与接收器的工作方式类似(据我所知)。