为什么 memory-sink 被拉到驱动程序上,因此尺寸被限制得很小?
Why is memory-sink pulled to the driver and hence restricted in size to be small?
只是想了解如何使用 spark 结构化流,我发现 memory sink(+ 聚合的完整模式)对于在 jupyter-notebook 等中与 spark 进行交互工作最有用。
但是它说它只适用于小型聚合表。 https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#output-sinks
这听起来超级尴尬,因为 spark 是一种大内存数据帧的参考实现。
是否计划支持具有所有模式(附加、完成、更新)的全尺寸内存表?
目前有解决方法吗?
"why" 的答案很简单 - 内存接收器主要用于调试,不用于生产:
This should be used for debugging purposes
关于另一个问题:
Is it planned to support full-sized in memory tables, with all modes (append, complete, update)?
理想情况下,这需要支持低延迟、可变表和此类结构,目前不在 Spark 的范围内,也没有认真考虑(尽管存在一些尝试这个方向的专有扩展)。
可以肯定地说,这样的选项在不久的将来(Spark 3.0)不会存在,但当然可能会在以后引入。
只是想了解如何使用 spark 结构化流,我发现 memory sink(+ 聚合的完整模式)对于在 jupyter-notebook 等中与 spark 进行交互工作最有用。
但是它说它只适用于小型聚合表。 https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#output-sinks
这听起来超级尴尬,因为 spark 是一种大内存数据帧的参考实现。 是否计划支持具有所有模式(附加、完成、更新)的全尺寸内存表?
目前有解决方法吗?
"why" 的答案很简单 - 内存接收器主要用于调试,不用于生产:
This should be used for debugging purposes
关于另一个问题:
Is it planned to support full-sized in memory tables, with all modes (append, complete, update)?
理想情况下,这需要支持低延迟、可变表和此类结构,目前不在 Spark 的范围内,也没有认真考虑(尽管存在一些尝试这个方向的专有扩展)。
可以肯定地说,这样的选项在不久的将来(Spark 3.0)不会存在,但当然可能会在以后引入。