OFF_HEAP rdd был автоматически удален Тахионом после выполнения искровой работы.

Я запускаю приложение spark, оно использует StorageLevel.OFF_HEAP для сохранения rdd (мой тахион и искра находятся в локальном режиме).

как это:

val lines = sc.textFile("FILE_PATH/test-lines-1")
val words = lines.flatMap(_.split(" ")).map(word => (word, 1)).persist(StorageLevel.OFF_HEAP)
val counts = words.reduceByKey(_ + _)
counts.collect.foreach(println)
...
sc.stop

когда сохранение завершено, я могу видеть свои файлы OFF_HEAP с локального хоста: 19999 (веб-интерфейс tachyon), это то, что я исключил.

Но, после окончания искрового приложения (sc.stop, но тахион работает), мои блоки (OFF_HEAP rdd) были удалены. И я не могу найти свои файлы с localhost:19999. Это не то, чего я хочу. Я думаю, что эти файлы принадлежат Tachyon (а не искре) после метода persist(), их не следует удалять.

Итак, кто удалил мои файлы и когда? Это нормальный способ?


person zeromem    schedule 14.03.2015    source источник


Ответы (1)


Ты ищешь

  saveAs[Text|Parquet|NewHadoopAPI]File()

Это настоящий «постоянный» метод, который вам нужен.

Вместо

persist()

используется для промежуточного хранения РДД: по окончании искрового процесса они будут удалены. Вот из комментариев к исходному коду:

  • Установите уровень хранения этого RDD, чтобы его значения сохранялись между операциями после первого вычисления.

Важная фраза: между операциями, то есть в рамках обработки (только).

person WestCoastProjects    schedule 14.03.2015