Hierarchical Data Format


Hierarchical Data Format, HDF (Иерархический формат данных) — название формата файлов, разработанного для хранения большого объема цифровой информации. Первоначально был разработан Национальным центром суперкомпьютерных приложений, сейчас поддерживается некоммерческой организацией HDF Group.

Библиотеки для работы с форматом и связанные с ним утилиты доступны для использования под свободной лицензией, схожей с лицензией BSD. Формат HDF поддерживается многими коммерческими и некоммерческими программами, в том числе есть библиотеки для работы с ним в Java, Matlab, Scilab, Octave, Mathematica, IDL[англ.], Python, R и Julia. Свободно распространяемый пакет HDF состоит из библиотеки, утилиты командной строки, исходных текстов для тестирования, интерфейса для Java и Java-программы для просмотра HDF-файлов.

HDF4 — старая версия формата, однако все еще активно поддерживаемая HDF Group. Он поддерживает различные модели данных, включая многомерные массивы, растровые изображения и таблицы.

Использует 32-битные целые числа, поэтому имеет проблемы с хранением больших объёмов информации (более нескольких гигабайт).

Содержимое файлов HDF5 организовано подобно иерархической файловой системе, и для доступа к данным применяются пути, сходные с POSIX-синтаксисом, например, /path/to/resource. Метаданные хранятся в виде набора именованных атрибутов объектов.