2014-01-13 1 views
2

Я использую HDFStore с pandas/pytables.Выпуск hdf5 дисковой памяти после удаления таблицы или узла с помощью pytables или pandas

После удаления таблицы или объекта размер файла hdf5 остается неизменным. Похоже, что это пространство снова используется, когда дополнительные объекты добавляются для хранения, но это может быть проблемой, если большое пространство впустую.

Я не нашел никакой команды в pandas и API pytables, которые могут быть использованы для восстановления памяти hdf5.

Вы знаете какой-либо механизм для улучшения управления данными в файлах hdf5?

ответ

7

см here

вам нужно ptrepack его, который перезаписывает файл.

ptrepack --chunkshape=auto --propindexes --complevel=9 --complib=blosc in.h5 out.h5 

в качестве примера (это также сжимает файл).

+0

Есть ли способ вызвать ptrepack из API pytables или pandas? – derchambers

+0

@ user3645626, не то, что я мог найти. Я сделал subprocess.call, чтобы выпустить утилиту 'ptrepack': call ([" ptrepack "," -o "," --chunkshape = auto "," --propindexes ", --complevel = 9", "- complib = blosc ", infilename, outfilename]). Мне было бы интересно услышать, есть ли другой способ. –