Может ли Spark хранить часть одного раздела RDD в памяти и часть на диске? - PullRequest
1 голос
/ 24 мая 2019

Под заголовком: может ли Spark хранить часть одного раздела RDD / Dataset / DataFrame в памяти и часть на диске? Другими словами, предполагая, что уровень персистентности поддерживает его, если раздел слишком велик для хранения в памяти, может ли он быть частично сохранен в памяти и частично на диске?

Мой пример использования: я хочу, чтобы я записывал очень большие файлы Parquet, а поведение записи Spark - запись файла для каждого раздела.

1 Ответ

2 голосов
/ 24 мая 2019

Боюсь, это невозможно в искре. Параметры памяти и диска используют раздел как наименьшее разделение данных. Согласно официальной документации , если используется уровень хранения MEMORY_AND_DISK, разделы, не умещающиеся в памяти, сохраняются на диске.

MEMORY_AND_DISK Сохранить RDD как десериализованные объекты Java в JVM. Если СДР не помещается в памяти, сохраните разделы, которые не помещаются на диск, и прочитайте их оттуда, когда они понадобятся.

MEMORY_AND_DISK_SER имеет аналогичное поведение, но сохраняет RDD как сериализованные объекты Java (один байтовый массив на раздел)

Возможно, у вас есть какой-то способ уменьшить размер раздела. Я думаю, что это может помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...