Набір даних HDF5 (.hdf5)
The СтандартІєрархічний формат даних 5 (HDF5) - це провідна архітектура керування науковими даними для масивних багатовимірних масивів, яка широко використовується в суперкомп'ютерах, кліматичному моделюванні, нейронауках та машинному навчанні.
Конвертувати з HDF5 у CSV
Безкоштовний конвертер з HDF5 у CSV у браузері. Миттєво конвертуйте файли на своєму пристрої.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли HDF5, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли HDF5, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):
89 48 44 46 0D 0A 1A 0AASCII-УЯВЛЕННЯ: \x89HDF\r\n\x1a\n
Стандартизація: The HDF Group Open Standard Specification
Технічні характеристики
| Архітектура контейнера | Hierarchical filesystem-like binary container organizing data into Groups (folders) and Datasets (multi-dimensional arrays) with attributes |
| Стиснення | Chunk-based compression filters: Gzip (Deflate), SZIP, Zstandard, Blosc, and LZF |
| Порядок байтів (Endianness) | Declared in superblock (Little or Big-Endian) |
| Колірні простори | N/A (Multi-dimensional Numerical Arrays) |
| Канали та структура | High-dimensional scientific arrays, compound data types, and variable-length strings |
| Максимальні розміри | Practically unlimited (supports 64-bit coordinates and petabyte-scale datasets) |
| Прозорість | None |
| Потокове та прогресивне завантаження | Chunked storage enables partial hyper-slab slicing without loading full dataset into memory |
Технічна матриця порівняння: HDF5 проти конкурентів
| Технічний атрибут | HDF5 (Поточний) | NETCDF | FITS | ZARR |
|---|---|---|---|---|
| Ієрархічна структура | Повноцінна файлова система POSIX-типу (групи та набори даних) | NetCDF-4 використовує HDF5 всередині | Фіксовані блочні масиви та таблиці | Хмарно-орієнтований чанковий формат каталогу |
| Зрізання наборів даних | Надшвидке бінарне читання гіперслайсів | Швидке читання гіперслайсів | Пряма індексація блоків | Хмарне паралельне завантаження чанків |
| Використання в машинному навчанні | Стандарт для ваг моделей (Keras .h5) | Рідко використовується в ШІ | Відсутнє | Зростаюче використання для тренувальних наборів даних ШІ |
| Основна екосистема | NCSA, суперкомп'ютери, Python h5py | NOAA, метеорологія, океанографія | NASA, астрономія, телескопи | Хмарно-орієнтована наука про дані |
Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі
Помилка Python h5py: 'Unable to open file (file signature not found)' (Не вдається відкрити файл (підпис файлу не знайдено)).
Першопричина: Пошкоджений 8-байтовий суперблок на початку файлу.
Відновлення: Перевірте зміщення суперблоку або відновіть набори даних за допомогою інструменту File2File HDF5.
Аналіз безпеки та векторів атак на парсери
Офіційна бібліотека libhdf5 аналізує складні B-дерева та таблиці купи (heap), де пошкоджені зміщення спричиняли вразливості переповнення купи.
Відомі вектори атак
- Переповнення буфера купи під час обходу індексів вузлів B-дерева (наприклад, CVE-2021-37501).
- Запис за межі буфера у плагінах конвеєра користувацьких фільтрів декомпресії.
- Відмова в обслуговуванні через циклічні цикли зв'язування груп.
Захисні найкращі практики:
Історичне походження та віхи
Головні переваги та плюси
- Повноцінна файлова система у файлі: організовує складні багатопетабайтні набори даних у іменовані групи та набори даних подібно до каталогів.
- Високопродуктивне зрізання гіперслайсів (hyperslab): зчитування крихітного 2D-зрізу з масивної 100-гігабайтної 5D-матриці без читання всього файлу.
- Глибока інтеграція з сучасним науковим Python (h5py), MATLAB, R та високопродуктивними суперкомп'ютерами з підтримкою MPI.
Технічні обмеження та мінуси
- Висока складність специфікації ускладнює реалізацію незалежних парсерів поза офіційною бібліотекою libhdf5 на C.
- Обмеження блокування єдиного запису в класичному HDF5 історично ускладнювали робочі процеси паралельного запису.
- Пошкоджені суперблоки можуть зробити недоступним весь ієрархічний деревоподібний простір.
Цікаві технічні факти
- Перші 8 магічних байтів файлу HDF5 (\x89HDF\r\n\x1a\n) навмисно повторюють підпис PNG для виявлення пошкоджених передач файлів.
- Система спостереження за Землею (EOS) від NASA зберігає петабайти щоденних супутникових кліматичних даних у форматі HDF5.
- Фреймворки глибокого навчання, такі як Keras і TensorFlow, популяризували HDF5 (.h5) для збереження ваг нейронних мереж.
Поширені технічні запитання
Що таке файл HDF5?
Файл HDF5 схожий на повноцінну файлову систему, яка зберігається всередині одного файлу та призначена для ефективного зберігання масивних наукових масивів, таблиць і моделей машинного навчання.
У чому різниця між .h5 та .hdf5?
Різниці немає; .h5 та .hdf5 — це два різні розширення файлів для того самого ієрархічного формату даних 5 (Hierarchical Data Format 5).
Як переглянути вміст файлу HDF5?
Ви можете перевірити групи, набори даних та метадані всередині будь-якого файлу HDF5 за допомогою HDFView, Python h5py або онлайн за допомогою File2File.app.