Tachyon по умолчанию реализован RDD в Apache Spark?
Я пытаюсь понять особенность памяти Спарка. В этом процессе я натолкнулся на Tachyon, который в основном находится на уровне данных в памяти, который обеспечивает отказоустойчивость без репликации с помощью систем родословной и сокращает повторное вычисление путем проверки контрольных точек на наборах данных. Теперь, когда запутался, все эти функции также достижимы стандартной системой СДР Spark. Поэтому мне интересно, внедряют ли СДР Tachyon за кулисы для реализации этих функций? Если нет, то какова польза от Tachyon, где вся его работа может выполняться стандартными RDD. Или я делаю какую-то ошибку в отношении этих двух? подробное объяснение или ссылка на него очень помогут. Спасибо.
1 ответ
То, что в статье, на которую вы ссылаетесь, не отражает реальность того, что в Tachyon является проектом с открытым исходным кодом, части этого документа когда-либо существовали только в качестве исследовательских прототипов и никогда не были полностью интегрированы в Spark/Tachyon.
Когда вы сохраняете данные в OFF_HEAP
уровень хранения через rdd.persist(StorageLevel.OFF_HEAP)
он использует Tachyon для записи этих данных в пространство памяти Tachyon в виде файла. Это удаляет его из кучи Java, таким образом давая Spark больше памяти кучи для работы.
В настоящее время он не записывает информацию о происхождении, поэтому, если ваши данные слишком велики, чтобы поместиться в ваши сконфигурированные части памяти RDD кластеров Tachyon, будут потеряны и ваши задания Spark могут потерпеть неудачу.