Apache spark 在Spark中将RDD从文件强制加载到内存

Apache spark 在Spark中将RDD从文件强制加载到内存,apache-spark,rdd,Apache Spark,Rdd,我有一个运行Spark计算的演示应用程序。为此,它加载存储在对象文件中的RDD,然后根据用户的输入执行一些任务 使用sparkContext.objectFile()加载RDD是一个漫长的操作。由于时间是一个问题,我希望在演示开始之前加载它,并且只在演示过程中执行依赖于输入的计算。但是,Spark的延迟策略导致仅在触发整个计算后读取文件 RDD.cache()。缓存也是一种惰性操作 有没有办法强制从文件加载RDD 如果没有,有没有办法加速RDD加载,和/或将其保存在内存中以备将来的Spark作业

我有一个运行Spark计算的演示应用程序。为此,它加载存储在对象文件中的RDD,然后根据用户的输入执行一些任务

使用
sparkContext.objectFile()
加载RDD是一个漫长的操作。由于时间是一个问题,我希望在演示开始之前加载它,并且只在演示过程中执行依赖于输入的计算。但是,Spark的延迟策略导致仅在触发整个计算后读取文件

RDD.cache()。缓存也是一种惰性操作

有没有办法强制从文件加载RDD

如果没有,有没有办法加速RDD加载,和/或将其保存在内存中以备将来的Spark作业使用

Spark版本为1.5,在单节点独立模式下运行。该文件是从本地文件系统读取的。如果需要,我可以调整Spark的配置或这些设置。

调用
缓存()
后,调用rdd上的任何操作(通常使用
计数()
)来“具体化”缓存。对该RDD的进一步调用将使用缓存版本:

RDD.cache().count() // this will load the RDD
// use RDD, it's cached now

似乎不像广告宣传的那样有效。RDD分区是否可能从内存中退出,或者没有完全加载?只有在内存不足的情况下。。你…吗?您可以在Spark UI(https://:4040/storage/)中检查这一点,查找RDD并检查其“分数缓存”是否正常工作,尽管它对Spark的内存管理参数非常敏感