Я работаю совместно с vaex и dask для некоторого анализа. В первой части анализа я выполняю некоторую обработку с dask.dataframe
, и я собираюсь экспортировать вычисленный мной фрейм данных во что-то, что читает vaex. Я хочу экспортировать данные в отображаемый в память формат, такой как hdf или стрелка.
dask позволяет экспортировать в файлы hdf и паркет. Vaex позволяет импортировать как hdf и стрелка. Оба позволяют экспортировать и импортировать как csv-файлы, но я хочу избежать этого.
Пока у меня есть следующие опции (и проблемы):
- Если я экспортирую в файл hdf5 Так как dask экспортирует файл в формате строки, но vaex читает его в формате столбца, файл не может быть импортирован (https://vaex.readthedocs.io/en/latest/faq.html).
- Я могу экспортировать данные в паркет файлы, но я не знаю, как читать их из Vaex. Я видел какой-то ответ в SO, который превращает файлы в таблицу стрелок, но для этого требуется, чтобы таблица загружалась в память, чего я не могу, потому что таблица слишком велика, чтобы поместиться в память.
Конечно, я могу сделать экспорт в csv и загрузить его порциями в vaex, затем экспортировать его в hdf в виде столбца, но я не думаю, что это должно быть целью двух модулей для больших объектов.
Есть ли какая-либо опция, которую я пропускаю, и которая была бы совместима для "соединения" двух модулей без загрузки полной таблицы в память или без необходимости чтения / записи набора данных дважды?