我有一种情况,我想每隔一小时从远程存储下载一些数据,并将其作为键值对存储在执行器/工作线程上的 RDD 中。我想缓存这个 RDD,以便在此执行器/工作线程上运行的所有 future 作业/任务/批处理都可以使用缓存的 RDD 进行查找。这在 Spark Streaming 中可能吗?
一些相关代码或指向相关代码的指针会有所帮助。
最佳答案
Alluxio是一个以内存为中心的分布式存储系统。 Alluxio可用于在内存中缓存Spark RDD,以供多个和 future 的Spark应用程序和作业访问。
Spark can store RDDs in Alluxio memory ,并且 future 的 Spark 作业可以从 Alluxio 内存中读取它们。该博客文章提供了有关其工作原理的更多详细信息。这是关于 how to setup and configure Alluxio with Spark 的信息.
关于caching - 我们可以在执行器上跨批处理使用缓存的 RDD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39585940/