如何将Spark DataSet流式传输到另一个spark应用程序可访问的内存?

时间:2017-09-06 13:20:56

标签: apache-spark spark-streaming

我有一个Java应用程序,它充当Spark的驱动程序应用程序。它进行一些数据处理并将数据子集流式传输到内存中。

示例代码:

    ds.writeStream()
    .format("memory")
    .queryName("orderdataDS")
    .start();

现在我需要另一个python应用程序来访问这个数据集(orderdataDS)。

如何实现这一目标?

2 个答案:

答案 0 :(得分:0)

除非两个应用程序共享相同的JVM驱动程序进程(如Zeppelin),否则不能这样做。如果您希望在多个应用程序之间共享数据,请使用独立存储,如RDBMS。

总体内存接收器为not intended for production

  

这应该用于低数据量的调试,因为整个输出被收集并存储在驱动程序的内存中

答案 1 :(得分:0)

基于上述答案,Spark并没有考虑到并发性。就像回答者所说的那样,你需要用一个"州商店"来支持Spark。就像一个RDBMS。当你去做这个时,有很多选择。我详细介绍了其中大多数here