gpt4 book ai didi

apache-spark - Spark RDD 缓存能走多远?

转载 作者:行者123 更新时间:2023-12-03 23:28:19 25 4
gpt4 key购买 nike

假设我在 rdd1 上调用了三个 RDD 转换函数:

def rdd2 = rdd1.f1
def rdd3 = rdd2.f2
def rdd4 = rdd3.f3

现在我想缓存 rdd4 ,所以我调用 rdd4.cache() .

我的问题:

将仅来自 rdd4 上的操作的结果或将缓存以上的每个 RDD rdd4被缓存?假设我想同时缓存 rdd3rdd4 ,我需要单独缓存它们吗?

最佳答案

缓存的整个想法是 Spark 不会将结果保存在内存中,除非你告诉它。因此,如果您缓存链中的最后一个 RDD,它只会在内存中保留该 RDD 的结果。所以,是的,您确实需要单独缓存它们,但请记住,如果您要多次使用 RDD,则只需要缓存它,例如:

rdd4.cache()
val v1 = rdd4.lookup("key1")
val v2 = rdd4.lookup("key2")

如果在这种情况下不调用缓存,则每次调用查找(或任何其他需要求值的函数)都会重新计算 rdd4。您可能想阅读 paper on RDD's很容易理解并解释了他们对 RDD 的工作方式所做的某些选择背后的想法。

关于apache-spark - Spark RDD 缓存能走多远?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25626827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com