为什么 Spark Structured Streaming 是实时操作的理想选择?

Why Spark Structured Streaming is ideal for real-time operations?

我想构建一个实时应用程序,但我不知道我应该使用 Spark Streaming 还是 Spark Structured Streaming。

我在网上看到结构化流是实时应用程序的理想选择,但不清楚为什么...

谁能解释一下?

Spark Streaming 适用于我们称之为微批处理的东西。 ...每批代表一个RDD。 Structured Streaming 的工作原理与根据您的触发间隔在一段时间后轮询数据的架构相同,但它与 Spark Streaming 有一些区别,这使得它更倾向于真正的流式传输。

对于开发人员他们只需要担心 Spark streaming 你会得到 RDD,但在 Spark Structured Streaming 中你会得到 Dataframes 和 DataSet。
如果您想要非常低级别(即每条记录)的操作,请选择 RDD(即 Spark Streaming),但您的应用程序可以构建在 Dataframes 上并像 SQL 一样实时查询它们,然后选择 DataFrames(即 Spark Structured Streaming )

最终 RDD 可以转换为 Dataframes,反之亦然