2016-07-10 5 views
2

Я смущен тем, что RDD просматривается в Spark.Сфера действия `persist` или` cache` Spark Spark

Согласно this thread

РД кэшируется ли или не является частью изменчивого состояния объекта RDD. Если вы вызовете rdd.cache, он будет отмечен для кеширования с этого момента. Неважно, с какой областью вы обращаетесь.

Так что, если я определил функцию с новым РДА создается внутри, например, (питон код)

# there is an rdd called "otherRdd" outside the function 

def myFun(args): 
    ... 
    newRdd = otherRdd.map(some_function) 
    newRdd.persist() 
    ... 

Будет ли newRdd жизнь в глобальном пространстве имен? или он виден только внутри среды myFun?

Если она видна только внутри среды myFun, после myFun выполнения отделки, будет Спарк автоматически unpersistnewRdd?

ответ

2

Да, когда RDD собирает мусор, он не работает. Таким образом, вне myFun, newRdd не поддерживается (если вы не вернете его или выведенный rdd), вы также можете проверить это answer.

Смежные вопросы