HDF5 набор от данни (.hdf5)
The СтандартЙерархичният формат за данни 5 (Hierarchical Data Format 5, HDF5) е водеща архитектура за управление на научни данни, предназначена за огромни многоизмерни масиви. Използва се широко в суперкомпютърните изчисления, климатичното моделиране, неврологията и машинното обучение.
Конвертиране от HDF5 към CSV
Безплатен конвертор от HDF5 към CSV в браузъра. Конвертирайте файлове незабавно на вашето устройство.
Проверка и метаданни
Операционните системи и файловите анализатори идентифицират HDF5 файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на заглавката (сигнатурни байтове)
Операционните системи и файловите анализатори идентифицират HDF5 файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
89 48 44 46 0D 0A 1A 0AASCII ПРЕДСТАВЯНЕ: \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 (Текущ) | NETCDF | FITS | ZARR |
|---|---|---|---|---|
| Йерархична структура | Пълна POSIX-подобна файлова система (групи и масиви от данни) | NetCDF-4 използва HDF5 като основа | Масиви и таблици с фиксирани блокове | Облачно ориентиран формат на директории с части (chunks) |
| Нарязване на масиви от данни | Ултрабързо двоично четене на хиперсрезове | Бързо четене на хиперсрезове | Директно блоково индексиране | Паралелно извличане на части от облака |
| Употреба в машинното обучение | Стандарт за тегла на модели (Keras .h5) | Рядко използван в изкуствения интелект | Няма | Нарастваща употреба за обучаващи набори от данни за ИИ |
| Основна екосистема | NCSA, суперкомпютри, Python h5py | NOAA, метеорология, океанография | НАСА, астрономия, телескопи | Наука за данните, ориентирана към облака |
Често срещани видове повреди и ръководство за възстановяване на шестнадесетични данни
Грешка в Python h5py: 'Не може да се отвори файлът (файловият подпис не е намерен)'.
Първопричина: Повреден 8-байтов суперблок в началото на файла.
Възстановяване: Проверете отместванията на суперблока или възстановете наборите от данни с помощта на File2File.app HDF5 Tool.
Анализ на сигурността и вектори на атака към парсера
Официалната библиотека libhdf5 анализира сложни B-дървета и таблици в динамичната памет, при които повредени отмествания са довели до уязвимости с препълване на динамичната памет.
Известни вектори на атака
- Препълване на буфера в динамичната памет при обхождане на индексите на възлите в B-дърво (напр. CVE-2021-37501).
- Запис извън границите (out-of-bounds write) в персонализирани приставки за конвейер за филтриране на декомпресия.
- Отказ от услуга чрез цикли с кръгови връзки между групи.
Най-добри практики за защита: Обработвайте ненадеждни HDF5 файлове с помощта на изолирани WebAssembly среди с ограничено количество памет.
Исторически произход и етапи
Основни предимства
- Пълноценна файлова система в един файл: организира сложни набори от данни с размери от няколко петабайта в именувани групи и набори от данни, подобно на директории.
- Високоефективно извличане на хиперсрезове: прочетете малко 2D сечение от огромна 5D матрица с размер 100 гигабайта, без да четете целия файл.
- Тясна интеграция с Python за научни изчисления (h5py), MATLAB, R и високопроизводителни суперкомпютри с паралелни изчисления чрез MPI.
Технически ограничения и минуси
- Високата сложност на спецификацията затруднява независимите реализации на парсери извън официалната C библиотека libhdf5.
- Ограниченията за заключване от един записващ в класическия HDF5 исторически усложняват едновременните работни потоци за запис.
- Повредените суперблокове могат да направят цялото йерархично дърво недостъпно.
Интересни технически факти
- Сигнатурата HDF5 произлиза от PNG; тя идентифицира формата и помага за откриване на често срещани грешки при прехвърляне.
- Системата за наблюдение на Земята на НАСА (EOS) съхранява петабайти ежедневни сателитни климатични данни във формат HDF5.
- Рамките за дълбоко обучение като Keras и TensorFlow популяризират HDF5 (.h5) за запазване на теглата на невронните мрежи.
Често задавани технически въпроси
Какво представлява HDF5 файлът?
HDF5 файлът е като цяла файлова система, съхранена в един файл, предназначен за ефективно съхранение на огромни научни масиви, таблици и модели за машинно обучение.
Каква е разликата между .h5 и .hdf5?
Няма разлика; .h5 и .hdf5 са две различни разширения на файлове за един и същ формат Hierarchical Data Format 5.
Как мога да видя какво има в един HDF5 файл?
Можете да разгледате групите, наборите от данни и метаданните във всеки HDF5 файл, като използвате HDFView, Python h5py или онлайн с File2File.app.