如何在两个应用程序之间共享来自 Spark RDD 的数据

pus*_*raj 4 sharing apache-spark rdd

在两个 Spark 作业之间共享 Spark RDD 数据的最佳方式是什么。

我有一个案例,作业 1:Spark 滑动窗口流应用程序将定期消耗数据并创建 RDD。这个我们不想持久化到存储中。

作业 2:查询将访问在作业 1 中创建的相同 RDD 并生成报告的作业。

我很少看到他们建议 SPARK 作业服务器的查询,但由于它是开源的,不确定它是否是一个可能的解决方案,但任何指针都会有很大帮助。

谢谢你 !

Dan*_*man 5

简短的回答是您不能在作业之间共享 RDD。您可以共享数据的唯一方法是将该数据写入 HDFS,然后将其拉入其他作业中。如果速度是一个问题,并且您想保持恒定的数据流,您可以使用 HBase,这将允许从第二个作业非常快速地访问和处理。

要获得更好的主意,您应该看这里:

序列化RDD