本申请公开的基于动态容量的Spark内存替换方法,包括:配置第一替换算法和第二替换算法;当有新的RDD需要存储时,根据内存紧张程度进行替换算法的选用;当触发第二替换算法时,将已有RDD分为有依赖计数和无依赖计数的两个表进行维护;随后获取已有RDD的权重大小;接着确认无依赖计数RDD表是否为空:若不为空,则在无依赖计数的RDD表中按权重从小到大将已有RDD逐个驱逐出内存,直到足够缓存新的RDD则停止;若为空,则遍历有依赖计数RDD表,以同样的方法驱逐RDD,直到空间足够容纳新的RDD。本方案能够在不同内存环境的条件下,更大限度的降低Spark在作业时的读写开销以及对性能的影响,提高缓存命中率,提升Spark的运行效率。