Создание фрейма данных Spark с помощью уже распределенных наборов данных в памяти - PullRequest
0 голосов
/ 16 июня 2020

Я новичок в сообществе Spark. Не обращайте внимания, если этот вопрос не имеет смысла.

Мой фрейм данных PySpark просто занимает часть времени (в мс) в «Сортировке», но перемещение данных намного дороже (> 14 se c).

Пояснение : У меня есть огромная коллекция Arrow RecordBatches, которая равномерно распределена по всей памяти моего рабочего узла (в Plasma_store). В настоящее время я собираю все эти RecordBatches обратно в свой главный узел, объединяю их и конвертирую в один фрейм данных Spark. Затем я применяю функцию сортировки к этому фрейму данных.

Фрейм данных Spark - это кластерный распределенный набор данных.

Итак, мой вопрос: можно ли создать фрейм данных Spark из всех уже распределенных пакетов Arrow RecordBatches сбора данных в памяти рабочих узлов? Таким образом, данные должны оставаться в памяти соответствующих рабочих узлов (вместо переноса их на главный узел, слияния и последующего создания распределенного фрейма данных).

Спасибо!

1 Ответ

0 голосов
/ 16 июня 2020

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

Пожалуйста, используйте нижеприведенные перегибы, чтобы понять больше о кеше ,
https://sparkbyexamples.com/spark/spark-dataframe-cache-and-persist-explained/ где хранится df.cache () https://unraveldata.com/to-cache-or-not-to-cache/

...