Набор данных HDF5 (.hdf5)

The Стандарт

Hierarchical Data Format 5 (HDF5): ведущая архитектура управления крупными многомерными научными данными. Ее широко используют в суперкомпьютерных вычислениях, климатическом моделировании, нейронауках и машинном обучении.

Конвертировать из HDF5 в CSV

Бесплатный конвертер из HDF5 в CSV прямо в браузере. Конвертируйте файлы мгновенно на Вашем устройстве.

Анализ и метаданные

Операционные системы и анализаторы файлов идентифицируют файлы HDF5 по начальной двоичной последовательности байтов:

Выберите или перетащите файлы сюда

Конфиденциально - файлы никогда не покидают ваше устройство

или вставьте Ctrl+V
Гарантия конфиденциальности без передачи по сети: 0 байт загружено на внешние серверы. Вся обработка выполнялась локально в песочнице Вашего браузера.

Сигнатура заголовка на уровне байтов (Magic Bytes)

Операционные системы и анализаторы файлов идентифицируют файлы HDF5 по начальной двоичной последовательности байтов:

HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):

89 48 44 46 0D 0A 1A 0A

ПРЕДСТАВЛЕНИЕ ASCII: \x89HDF\r\n\x1a\n

Стандартизация: The HDF Group Open Standard Specification

Технические спецификации

Архитектура контейнераБинарный контейнер, похожий на иерархическую файловую систему, организующий данные в группы (папки) и наборы данных (многомерные массивы) с атрибутами
СжатиеФильтры сжатия на основе чанков: Gzip (Deflate), SZIP, Zstandard, Blosc и LZF
Порядок байтов (Endianness)Указывается в суперблоке (Little-Endian или Big-Endian)
Цветовые пространстваН/Д (Многомерные числовые массивы)
Каналы и структураНаучные массивы высокой размерности, составные типы данных и строки переменной длины
Максимальные размерыПрактически неограниченные (поддерживает 64-битные координаты и наборы данных петабайтного масштаба)
ПрозрачностьОтсутствует
Потоковая передача и прогрессивная загрузкаБлочное хранение позволяет читать отдельные гиперсрезы без загрузки всего набора данных в память.

Техническая матрица сравнения: HDF5 с конкурентами

Технический атрибутHDF5 (Текущий)NETCDFFITSZARR
Иерархическая структураПолная файловая система, подобная POSIX (группы и наборы данных)NetCDF-4 использует HDF5 «под капотом»Фиксированные блочные массивы и таблицыОблачный чанковый формат каталогов
Создание срезов набора данныхСверхбыстрое бинарное чтение гиперсрезовБыстрое чтение гиперсрезовПрямая блочная индексацияОблачные параллельные выборки чанков
Использование в машинном обученииСтандарт для весов моделей (Keras .h5)Редко используется в ИИОтсутствуетВсе шире используется для обучающих наборов данных ИИ
Основная экосистемаNCSA, суперкомпьютерные вычисления, Python h5pyNOAA, метеорология, океанографияNASA, астрономия, телескопыОблачные науки о данных

Распространенные сценарии повреждения и руководство по восстановлению в HEX

Ошибка Python h5py: 'Unable to open file (file signature not found)'.

Первопричина: Поврежден 8-байтовый суперблок в начале файла.

Восстановление: Проверьте смещения суперблока или восстановите наборы данных с помощью File2File.app HDF5 Tool.

Анализ безопасности и векторы атак на парсер

Официальная библиотека libhdf5 анализирует сложные B-деревья и таблицы в куче, где поврежденные смещения приводили к уязвимостям переполнения кучи.

Известные векторы атак

  • Переполнение буфера динамической памяти (кучи) при обходе индексов узлов B-дерева (например, CVE-2021-37501).
  • Запись за пределами буфера в пользовательских плагинах конвейера фильтров декомпрессии.
  • Отказ в обслуживании через циклические связи между группами.

Лучшие практики защиты: Обрабатывайте ненадежные файлы HDF5 с помощью изолированных движков WebAssembly с ограниченными лимитами памяти.

История происхождения и ключевые этапы

2020HDF5 версии 1.12 представляет коннекторы уровня виртуальных объектов (VOL) для облачного объектного хранилища (Amazon S3).
2006The HDF Group выделяется из NCSA при Иллинойсском университете и становится независимым некоммерческим фондом.
1998NCSA выпускает HDF5, полностью переработав оригинальный формат HDF4 для устранения ограничения размера файлов в 2 ГБ.

Ключевые преимущества и плюсы

  • Полноценная файловая система в одном файле: организует сложные наборы данных размером в несколько петабайт в именованные группы и наборы данных, как файлы и папки.
  • Высокопроизводительное чтение гиперсрезов: можно прочитать небольшой двумерный срез из огромной пятимерной матрицы объемом 100 ГБ, не читая весь файл.
  • Глубокая интеграция с современным научным стеком Python (h5py), MATLAB, R и высокопроизводительными суперкомпьютерами с поддержкой MPI.

Технические ограничения и минусы

  • Высокая сложность спецификации затрудняет создание независимых реализаций синтаксического анализатора вне официальной библиотеки libhdf5 на C.
  • Ограничения блокировки при одновременной записи в классическом HDF5 исторически усложняли рабочие процессы параллельной записи.
  • Поврежденные суперблоки могут сделать недоступным всё иерархическое дерево.

Интересные технические факты

  • Сигнатура HDF5 происходит от PNG; она распознает формат и помогает выявлять типичные ошибки передачи.
  • Система наблюдения за Землей NASA (EOS) хранит петабайты ежедневных спутниковых климатических данных в формате HDF5.
  • Фреймворки глубокого обучения, такие как Keras и TensorFlow, популяризировали формат HDF5 (.h5) для сохранения весов нейронных сетей.

Часто задаваемые технические вопросы

Что такое файл HDF5?

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

В чем разница между .h5 и .hdf5?

Разницы нет; .h5 и .hdf5: это два разных расширения файлов для абсолютно одного и того же формата Hierarchical Data Format 5.

Как посмотреть содержимое файла HDF5?

Вы можете изучить группы, наборы данных и метаданные внутри любого файла HDF5 с помощью HDFView, Python h5py или онлайн с помощью File2File.app.