如何在静态数据集上运行流查询?

时间:2019-11-15 02:47:02

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

当我将结构化流应用于静态数据集时,spark引擎将获取静态数据集的全部数据。在这种情况下,使用流处理静态数据集是什么意思?

我期望结构化流能够一次获取整个数据集的一部分,然后我在数据集的这一部分上对其进行计算,直到遍历整个数据集为止。否则,使用结构化流和spark SQL处理静态数据集是完全相同的。

之所以将结构化流传输到静态数据集是因为静态数据集可能很大。我们希望使用结构化流技术来防止将静态数据集上的数据一次全部加载到内存中(以使内存压力很大)。这是否违反了流处理的想法?

使用结构化流和spark SQL处理静态数据集有什么区别?

1 个答案:

答案 0 :(得分:0)

  

静态数据集可能很大。

这正是Spark可以在这里提供帮助的原因。但这并不意味着它必须是结构化流。这是Spark SQL的完美用例。

  

防止静态数据集上的数据一次全部加载到内存中

这再次是Spark的原因,并且与结构化流无关。