2014-10-29 2 views
1

У нас есть автономный 2-узловой кластер Spark-1.1.0, на котором был создан Spark RDD с использованием оболочки Spark. RDD сохраняется (MEMORY_ONLY). Я не могу получить этот RDD из другой оболочки Spark, используя sc.getPersistentRDDs(). Я что-то пропустил?Persisted Spark RDD недоступен в другой оболочке Spark

ответ

2

RDD сохраняются в контексте SparkContext, которые возникли из этого RDD и доступны только через созданный ими Spark Context.

Это означает, что вы не можете получить доступ к RDD, созданному с помощью SparkContext, из другого SparkContext B, как в случае второй Spark-оболочки.

+0

Спасибо. Но значит ли это, что нет возможности совместно использовать сгенерированное и постоянное RDD для будущего использования? Это немного похоже на принцип итеративной обработки Спарком. – smantripragada

+0

Итерационный процесс относится к алгоритмам, которые нужно переходить через один и тот же набор данных несколько раз, делая каждый раз вычисления и потенциально преобразуя его. Если вы хотите повторно использовать результат вычисления для «будущего использования», вы всегда можете сохранить RDD на диск. Вы также можете заглянуть в [Tachyon] (http://tachyon-project.org/) для альтернативы в памяти. – maasg

+0

Спасибо, maasg, что уточняет. Я неверно истолковал смысл упорства. – smantripragada