为什么将内存槽拉到驱动程序上并因此将其限制在较小的大小?

时间:2018-11-29 19:29:40

标签: apache-spark spark-structured-streaming

只是试图了解如何使用Spark结构化流,我发现在Jupyter笔记本之类的产品中,内存接收器(+完整的聚合模式)对于使用Spark进行交互式工作最有用。

但是,它说它仅适用于小型汇总表。 https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#output-sinks

这听起来很尴尬,因为spark是大型内存数据帧的参考实现。 是否计划支持所有模式(追加,完成,更新)的全尺寸内存表?

当前是否有解决方法?

1 个答案:

答案 0 :(得分:0)

“为什么”的答案很简单-内存接收器主要是调试功能,不适合用于生产用途:

  

这应该用于调试目的

关于另一个问题:

  

是否计划以所有模式(追加,完成,更新)支持全尺寸的内存表?

理想情况下,这需要支持低延迟,可变表,并且此类结构目前不在Spark的范围之内,并且未被认真考虑(尽管存在一些尝试此方向的专有扩展)。

可以肯定地认为这种选择在不久的将来(Spark 3.0)将不存在,但是当然可以稍后再引入。