pan*_*anc 5 python scope apache-spark rdd
我对 RDD 在 Spark 中的作用域感到困惑。
根据这个线程
RDD 是否被缓存是 RDD 对象可变状态的一部分。如果你调用 rdd.cache 它将被标记为从那时起缓存。从哪个范围访问它并不重要。
因此,如果我定义了一个在内部创建了新 rdd 的函数,例如(python 代码)
# there is an rdd called "otherRdd" outside the function
def myFun(args):
...
newRdd = otherRdd.map(some_function)
newRdd.persist()
...
Run Code Online (Sandbox Code Playgroud)
请问newRdd全局命名空间中存在吗?或者它只在环境中可见myFun?
如果它只在 的环境中可见,那么执行完成myFun后myFun,Spark 会自动unpersist执行newRdd吗?