gpt4 book ai didi

hadoop - UNION parent rdd and child rdd before action 时会发生什么?

转载 作者:可可西里 更新时间:2023-11-01 16:38:58 24 4
gpt4 key购买 nike

假设我有一些 rdd 具有这样的血统:

rdd0 -> rdd1 -> rdd2 -> rdd3 -> rdd4

当我执行 rdd1.union(rdd2).union(rdd3).union(rdd4).collect() 时会发生什么? spark会不会在计算rdd4的时候重新计算rdd0到rdd3的转换?

最佳答案

union 是一个转换,所以当您执行 val x = a union(b) 时,它会向标识符所引用的沿袭添加一个新元素x。此时没有真正计算出任何东西。可以将其视为添加了元素的蓝图。当对 x 调用操作时,此蓝图将从添加的第一个元素开始执行。

现在,在您的情况下,当您执行 rdd1.union(rdd2).union(rdd3).union(rdd4).collect() 时,您基本上向蓝图添加了 3 个元素( rdd1rdd2 的结果,rdd3 与前一个结果的并集以及 rdd4 与前一个结果的并集)。现在,当您对此最终结果调用 collect() 时,蓝图终于从头开始执行。

如果您使用 rdd1 进行大量操作,最好缓存/持久化它,否则它会重新计算。

如果这有帮助,请告诉我,干杯。

关于hadoop - UNION parent rdd and child rdd before action 时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45611044/

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