Запись / чтение промежуточного Dataframe работает лучше, чем кеш. Это ожидаемое поведение? - PullRequest
1 голос
/ 16 апреля 2019

Когда я записываю промежуточный DF в csv и считываю его обратно как Dataframe и выполняю операции быстрее, чем я кеширую промежуточный файл df (group_df в нижеследующем потоке) и выполняю операцию над ним ..

Пожалуйста, посмотрите пример

1. input_df(dataframe) => 20 million records
2. group_df(dataframe) => 27k records

input_df => group_df => perform operations

Я пытаюсь использовать варианты ниже, а третий выглядит быстрее .. Не могли бы вы объяснить это поведение.

1. group_df.cache()
2. group_df.persist(StorageLevel.DISK_ONLY)
3. write the group_df to csv and read it back as dataframe

1 Ответ

1 голос
/ 16 апреля 2019

Конечно! group_df.cache() выполняет ленивые вычисления, и чаще всего в памяти хранятся только фрагменты данных (и многие фрагменты удаляются в режиме LRU). В последнем случае все вычисления завершены, и результаты записаны, поэтому операции с данными groupd_df просто нужно будет прочитать с диска.

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