Я пытаюсь создать файл HDF5, содержащий десятки тысяч групп, каждая из которых содержит 2 матрицы, одну с размером 500 000x3 и одну с размером 500 000x1. Конечный файл имеет размер около 200-300 ГБ.
Я использую R для итеративного создания групп и добавления наборов данных, используя rhdf5
.
В начале это выполняется довольно быстро (~ 1 в секунду для набора данных), но со временем он значительно замедляется, по крайней мере, в 10 раз. Это заставляет меня думать, что в этом процессе есть что-то, что не масштабируется линейно, делая все медленнее и медленнее добавлять каждый новый набор данных.
Есть ли что-то в HDF5, что может быть причиной этого? Я думаю, например, нужно ли упорядочить записи в файле, что может заставить инструмент продолжать перемещать данные, когда новые записи добавляются в середине.
Я уже пытался разделить группы на подгруппы, чтобы убедиться, что я не получу 10000 групп на уровне root, но похоже, что это не помогло.