Удаление данных из файла HDF5

Если Вы будете желать сослаться на ячейку progmatically тогда, то Вы получите намного больше читаемого кода при использовании метода Ячеек листа. Это берет строку и индекс столбца вместо традиционной ссылки на ячейку. Это очень похоже на метод Смещения.

16
задан Joonas Pulakka 14 July 2009 в 13:43
поделиться

1 ответ

HDF5 (по крайней мере, версия, к которой я привык, 1.6.9) не позволяет удаление. На самом деле это так, но это не освобождает используемое пространство, в результате чего у вас все еще есть огромный файл. Как вы сказали, вы можете использовать h5repack, но это пустая трата времени и ресурсов.

Что-то, что вы можете сделать, - это иметь боковой набор данных, содержащий логическое значение, сообщающее вам, какие значения являются «живыми», а какие были удалено. Это не уменьшает размер файла, но, по крайней мере, дает вам быстрый способ выполнить удаление.

Альтернативой является определение плиты в вашем массиве, копирование соответствующих данных, затем удаление старого массива или всегда доступ к данные через плиту, а затем переопределите их по своему усмотрению (хотя я никогда этого не делал, поэтому не уверен, возможно ли это, но должно)

Наконец, вы можете использовать стратегию монтирования hdf5, чтобы ваши наборы данных помещались в «прикрепленный» файл hdf5, который вы монтируете в корневой каталог hdf5. Если вы хотите удалить материал, скопируйте интересные данные в другой смонтированный файл, отключите старый файл и удалите его, а затем снова смонтируйте новый файл в нужном месте. Это решение может быть беспорядочным (так как у вас есть несколько файлов), но оно позволяет вам освободить место и работать только с частями вашего дерева данных вместо использования репака.

9
ответ дан 30 November 2019 в 23:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: