Альтернативы hdf5

15

Я использую HDF5 в течение многих лет, но с ростом размера набора данных у меня начинаются те же проблемы, что и здесь

http://cyrille.rossant.net/moving-away-hdf5/

Можете ли вы указать мне формат HDF5 с - Хорошая поддержка параллельной записи - Поддержка кускового доступа огромных матриц

Мой типичный пример использования - целочисленная матрица размером 100k x 100k. Я хотел бы, чтобы это был целый файл с логической точки зрения, но мне нужно записать его по частям с параллельными работниками.

MG
источник
3
Можете ли вы объяснить, какие виды наборов данных вам нужно экспортировать? Это может быть полезно для людей, которые хотят ответить на ваш вопрос. Я рассмотрел HDF5, а также Netcfd. Но они могут быть более приспособлены к определенным наборам данных.
Чарльз
2
Сжатый ВТК поддерживает чанки. Вы можете сохранить несколько параллельных файлов и объединить их, используя метафайл PVD. Каков размер вашего набора данных?
Кшиштоф Бзовски
После ваших правок - куски ВТК не являются хорошим решением.
Кшиштоф Бзовски
Что вы в конечном итоге использовали?
aidan.plenert.macdonald
@ aidan.penert.macdonald Я держал с hdf5, используя параллельные записи с MPI. Но мне пришлось отказаться от Python
MG

Ответы:

6

HDF5 в некоторой степени является файловой системой. Представляя B-Trees и управляя блоками, он дублирует функциональность файловой системы. Когда вы запускаете свой код, вы, вероятно, запускаете его в операционной системе с проверенной и масштабируемой файловой системой. Следовательно, я бы предложил записать ваши числовые необработанные данные в один файл с использованием необработанного доступа к файлу или MPI-IO и записать метаданные (порядковый номер, размер, атрибуты и т. Д.) В отдельный файл JSON или XML. Если у вас есть несколько наборов данных, вы можете организовать их в каталог или иерархию каталогов. Если вы хотите распространить набор данных, вам просто нужно упаковать его в ZIP-файл.

Единственным недостатком является то, что вам приходится иметь дело с Endianness самостоятельно, что, однако, не сложно .

Для вдохновения о том, как это можно сделать, см. Dragly, et. и др. «А. Экспериментальная структура каталогов (Exdir): альтернатива HDF5 без введения нового формата файлов». Нейроинформ., 2018, 12 .

Х. Риттих
источник